我有一个名为txn的表,其中一个名为pid的列是csv。 我通过以下方式使用查询:
SELECT * FROM txn where pid like '%,11%';
即,如果pid =,1,2,7,11,4,则应选择此特定行。 但我的问题是......因为我正在使用
像
如果pid =,1,111,112或类似的东西,那么即使它没有11,这行也会被选中..所以这个查询不能解决我的问题.. 任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
SELECT * FROM txn where pid like '%,11,%' or pid like '%,11';
答案 1 :(得分:0)
你的字符串总是有一个前导逗号,所以也添加一个尾随的(例如pid=',1,111,112,'
),然后'%,11,%'
就足够了。你甚至可以动态地做到这一点:
concat(pid,',') like '%,11,%'
答案 2 :(得分:0)
SELECT * FROM txn其中pid IN(1,2,7,11,4)
希望有所帮助!