Mysql将逗号分隔的字段与单个字符串进行比较

时间:2016-03-09 21:23:38

标签: mysql comparison

因此,数据库中名为schools的字段的值可能为:

'13,121,112,1212'

我正在使用它来显示错误的可能性。

假设我在该字段中查找12的值。逗号表示“整数”,我不想匹配112或1212

有比这更优雅的比赛吗?

@compare = 12;
WHERE CONCAT(schools,',') LIKE CONCAT('%',compare,',%)

最近我对GROUP_CONCAT函数印象深刻,但这与此相反。谢谢!

1 个答案:

答案 0 :(得分:3)

对于这个简单的情况,您可以使用FIND_IN_SET();

WHERE FIND_IN_SET('13', schools);

请注意,对于使用逗号分隔文本的列没有良好的索引,因此查询将比标准化数据库 慢。