mysql选择涉及csv的行

时间:2009-06-02 10:50:35

标签: mysql

我有一个名为txn的表,其中一个名为pid的列是csv。 我通过以下方式使用查询:

SELECT * FROM txn where pid like '%,11%';

即,如果pid =,1,2,7,11,4,则应选择此特定行。 但我的问题是......因为我正在使用

  

如果pid =,1,111,112或类似的东西,那么即使它没有11,这行也会被选中..所以这个查询不能解决我的问题.. 任何人都可以帮我解决这个问题吗?

3 个答案:

答案 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)

希望有所帮助!