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

Mysql compare comma-separated field with single string

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

'13,121,112,1212'

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

假设我正在该字段中查找 12 的值。逗号表示 "whole number",我不想匹配 112 或 1212

还有比这更优雅的搭配吗?

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

我最近对 ​​GROUP_CONCAT 功能印象深刻,但这有点相反。谢谢!

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

WHERE FIND_IN_SET('13', schools);

请注意,对于以逗号分隔的文本的列没有好的索引,因此查询将比规范化数据库慢很多