我想构建一个MySQL查询,用另一个逗号分隔的字符串搜索逗号分隔的字符串。
子字符串将始终来自具有不同顺序的原始字符串(以逗号分隔)。以下是一些例子。
原始字符串:1,2,3,4,5,6
一个。 1,2,4,6
湾4,6,1
℃。 2,3
MySQL查询是什么?
答案 0 :(得分:0)
您可以使用REPLACE
和REGEXP
:
SELECT t.string FROM my_table t WHERE t.string REGEXP REPLACE('1,2,4,6', ',', '|');
SELECT t.string FROM my_table t WHERE t.string REGEXP REPLACE('4,6,1', ',', '|');
SELECT t.string FROM my_table t WHERE t.string REGEXP REPLACE('2,3', ',', '|');
所有这些查询都会与'1,2,3,4,5,6'
列中的t.string
值匹配;
当然这些SQL查询中REPLACE()
函数的第一个参数可以/应该是动态逗号分隔的字符串;