Mysql 如何检查逗号分隔列是否包含逗号分隔字符串中的单词

Mysql 如何检查逗号分隔列是否包含逗号分隔字符串中的单词,mysql,mysql-workbench,query-performance,sqlperformance,Mysql,Mysql Workbench,Query Performance,Sqlperformance,我需要知道逗号分隔字符串中的单词在逗号分隔列中是否可用 假设表列中的值为“ram,sham,shanghai”,我的搜索字符串为 “ram,shanghai”然后我需要选择这个这是可能的,但不是干净的。您可以在SQL中分解搜索字符串(将字符串与查询合并以返回数字列表,并使用带有子字符串的数字\u INDEX()将字符串拆分为行),然后可以使用在\u集合()中查找字符串。@Kickstart is comment可能更干净的解决方案是规范化表列。另外一点是,聚合/搜索qeuries要容易得多。。缺

我需要知道逗号分隔字符串中的单词在逗号分隔列中是否可用

假设表列中的值为“ram,sham,shanghai”,我的搜索字符串为
“ram,shanghai”然后我需要选择这个

这是可能的,但不是干净的。您可以在SQL中分解搜索字符串(将字符串与查询合并以返回数字列表,并使用带有子字符串的数字\u INDEX()将字符串拆分为行),然后可以使用在\u集合()中查找字符串。@Kickstart is comment可能更干净的解决方案是规范化表列。另外一点是,聚合/搜索qeuries要容易得多。。缺点是需要更改应用程序代码以处理正确的表关系,而不是逗号分隔的值关系。如果可以修改数据库和应用程序以使用规范化的表设计,那么我非常推荐。如果失败了,最好在检查数据库之前分割要搜索的逗号分隔的值字符串。