MySql:使用IN运算符选择语句

时间:2009-05-07 11:13:03

标签: mysql select csv

我有一个包含多个字段的表和一个具有3个逗号分隔值的字段

 Column 1 Column 2 
    1        1,2,3
    2        2,3,4
    3        6,7,8 

现在我想运行一个SQL查询,它向我提取具有我发送的值作为输入的行。

与上例相似,如果我发送一个值2作为函数的输入, 它必须返回前两行。

我尝试使用IN运算符但失败了,因为它没有获取具有作为CSV的第2或第3值发送的输入的行。在此示例中,它不返回第1行。

有人可以帮我解决这个问题吗?

先谢谢, 阿卡什

3 个答案:

答案 0 :(得分:3)

您可以使用FIND_IN_SET()

SELECT column1 FROM table WHERE FIND_IN_SET('2', column2) != 0

IN运算符基本上是许多OR的快捷方式:

WHERE column2 = IN ('a', 'b', 'c')

给出与

相同的结果
WHERE (column2 = 'a' OR column2 = 'b' OR column2 = 'c')

答案 1 :(得分:0)

如果我正确理解了你的问题那么尝试怎么样 - 从Table中选择Column1,Column2,其中Column1 <=

欢呼声

答案 2 :(得分:0)

您应该可以使用Like来执行此操作,例如:

SELECT * FROM tablename WHERE [Column 2] LIKE ("%2%");