我试过以下两种说法:
SELECT col FROM db.tbl WHERE col (LIKE 'str1' OR LIKE 'str2') AND col2 = num
导致语法错误SELECT col FROM db.tbl WHERE page LIKE ('str1' OR 'str2') AND col2 = num
导致“截断不正确的DOUBLE值:str1”和“截断了不正确的DOUBLE值:str2”来获取看起来像是每个结果的内容。但是,实际上没有返回任何结果。
我以为这两个说法中有一个会起作用,但他们没有。
8条答案
按热度按时间yrdbyhpb1#
dxxyhpgq2#
我相信你需要
aydmsdu93#
在字符串的开头和结尾使用
%
,这样它也会检查子字符串px9o7tmv4#
我猜你想要的是
这将查找所有满足以下条件的情况(col如%str1%或col如%str2%)AND col2 = num
a7qyws3x5#
简单想想:
dojqjjoe6#
“OR”运算符适用于表达式。“LIKE 'str1'"和“LIKE 'str2'"不是有效的表达式,因为“LIKE”运算符同时需要左手边和右手边。
将首先尝试对“str1”和“str2”进行OR运算,得到值TRUE。然后尝试计算
page LIKE TRUE
,并报告错误。pdkcd3nj7#
尝试
j7dteeu88#
在SQL的最新版本中,可以使用
IN
运算符: