Mysql将逗号分隔字段与单个字符串进行比较
因此,数据库中名为schools的字段的值可能为:Mysql将逗号分隔字段与单个字符串进行比较,mysql,comparison,Mysql,Comparison,因此,数据库中名为schools的字段的值可能为: '13,121,112,1212' 我用它来表示可能会犯错误 假设我在该字段中查找12。逗号表示“整数”,我不想匹配112或1212 还有比这更优雅的搭配吗 @compare = 12; WHERE CONCAT(schools,',') LIKE CONCAT('%',compare,',%) 我最近对GROUP_CONCAT函数印象深刻,但这与此相反。谢谢 对于这个简单的情况,您可以使用 请注意,尽管对于使用逗号分隔的文本的列没有很好的
'13,121,112,1212'
我用它来表示可能会犯错误
假设我在该字段中查找12
。逗号表示“整数”,我不想匹配112或1212
还有比这更优雅的搭配吗
@compare = 12;
WHERE CONCAT(schools,',') LIKE CONCAT('%',compare,',%)
我最近对GROUP_CONCAT函数印象深刻,但这与此相反。谢谢 对于这个简单的情况,您可以使用
请注意,尽管对于使用逗号分隔的文本的列没有很好的索引,但是查询速度要比标准化数据库慢得多。对于这个简单的例子,您可以使用
请注意,尽管对于使用逗号分隔的文本的列没有很好的索引,但是查询速度要比标准化数据库慢得多。
SELECT*FROM。。。其中在集合中查找(@compare,school)>0
SELECT*FROM。。。在集合中查找(@compare,school)>0的位置
WHERE FIND_IN_SET('13', schools);