select 1 from tb where ',%1,2,3,4%,' like ',%1%,' ',%1,2,3,4%,' like ',%1%,' 这个是True select 1 from tb where ',%1%,' like ',%1,2,3,4%,' ',%1,2,3,4%,' like ',%1%,' 这个是False 感觉like前后的两个字符串顺序调换,都能说得通。 但是后一种写法测试时False,不理解,请高手指教!
like是一个模式匹配概念,属于正则匹配范畴,模式里面的%代表任意数量的任何字符,这都能搞错?
select 1 where ',%1,2,3,4%,' like ',%1%,'
意思就是字符串',%1,2,3,4%,'的特征是:逗号(,)开头、任意数量的任何字符(%)、1、任意数量的任何字符(%),逗号(,)结束。
select 1 where ',%1%,' like ',%1,2,3,4%,'
反过来你看看字符串',%1%,'的符不符合模式',%1,2,3,4%,'描述的特征?
select 1 from
tb where ',%1,2,3,4%,' like ',%1%,'
',%1,2,3,4%,' like ',%1%,' 这个是True
select 1 from
tb where ',%1%,' like ',%1,2,3,4%,'
',%1,2,3,4%,' like ',%1%,' 这个是False
如果这么多条件
你总要有个or 或者 and
吧
要不你什么意思都不知道啊