如何查找包含逗号分隔值的记录?

时间:2016-11-29 12:33:54

标签: mysql

我的数据库中有一个包含逗号分隔整数的字段,例如:

"4,6,18,26,29,34"

我需要构造一个SQL查询,它将返回包含特定给定整数的记录,例如6,所以我当前的查询是这样的:

SELECT * FROM mytable WHERE CSVField LIKE "%,6,%"

我用逗号包围了所需的值,以避免6匹配26但是很明显我的当前查询与第一个或最后一个值不匹配因为该字段不以逗号开头或结尾,所以在上面的示例中,它永远不会找到434

如何编写我的查询以便它能按我的意愿行事?

1 个答案:

答案 0 :(得分:0)

您可以尝试:

SELECT * FROM mytable WHERE CSVField LIKE "%,6,%"
                         OR CSVField LIKE "6,%"
                         OR CSVField LIKE "%,6"

希望你的桌子很小。

<强>更新

关注Mihai的帖子,试试:

SELECT * FROM mytable WHERE FIND_IN_SET(CSVField,'6') > 0