为什么`"%,2,%"喜欢",1,2,3,"`返回零?

时间:2016-07-21 04:03:18

标签: mysql memsql

我的SQL没有按预期工作。而且我发现它是因为其中一个类似的条款。

我期待以下sql

select * from SomeTable Where "%,2,%" like ",1,2,3,";

给出与

相同的结果
select * from SomeTable;

但它实际上什么都没有。 我无法展开",1,2,3,"而我无法使用find_in_set,因为我正在使用memsql。 那么有什么其他方法可以确定条目是以逗号分隔的列表字符串,还是我做错了什么?

1 个答案:

答案 0 :(得分:3)

我认为你的意思是

select * from SomeTable Where ",1,2,3," LIKE "%,2,%" ;

给出与SELECT * SomeTable.相同的结果因为“,1,2,3”,如“%,2,%”总是评估为TRUE所以。上述陈述与

完全相同
select * from SomeTable;

另一方面,在以下陈述中

select * from SomeTable Where "%,2,%" like ",1,2,3,";

“%,2,%”之类的“,1,2,3”组件始终计算为False。这将给你零结果。

我认为你真正想要的是:

 select * from v Where somecolumn like "%,2,%"