Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL搜索字符串_Mysql - Fatal编程技术网

MySQL搜索字符串

MySQL搜索字符串,mysql,Mysql,我正在寻找一种方法,从具有string列数据类型的tabla中获取一行。此列可以具有如下值: 1. "1,2,3,4,5" 2. "X,3,4,5,8" 3. "X,X,3,4,5" 4. "1,2,3,4,X" 5. "1,3,4,X,X" 等等 我想完成对字符串的搜索,如 "1,2,3,4,5" 我试着用一个 SELECT * FROM *table_name* WHERE *column* LIKE '%1,2,3,4,5%'; 希望此查询能够检索至少三个结果(在示例中

我正在寻找一种方法,从具有string列数据类型的tabla中获取一行。此列可以具有如下值:

 1. "1,2,3,4,5"
 2. "X,3,4,5,8"
 3. "X,X,3,4,5"
 4. "1,2,3,4,X"
 5. "1,3,4,X,X"
等等

我想完成对字符串的搜索,如

"1,2,3,4,5"
我试着用一个

SELECT * 
FROM *table_name* 
WHERE *column* LIKE '%1,2,3,4,5%';

希望此查询能够检索至少三个结果(在示例中为first、third和forth字符串),但它只返回第一个字符串,因为它当然是唯一与指定条件匹配的字符串。有人知道我实现这一成就的方法吗?

我假设所列的
X
实际上就是X字符-如果是,试试看

SELECT * FROM table WHERE '1,2,3,4,5' REGEXP REPLACE(column, 'X', '.')

您应该查看
集合
数据类型:请阅读以下内容,您希望在此处返回哪些行?请注意,您可能不应该以CSV格式存储信息。在我的情况下,我希望按顺序返回与任何部分匹配的任何字符串,即如果soterd字符串I类似于X、2、3、4、5,则与我正在处理的条件匹配。在列出的示例中,第一个、第三个和第四个字符串与条件匹配。这是正确的,'X'实际上是属于字符串本身的字符。我不知道这个正则表达式替换(列,X','.')是什么意思,但它返回0个结果(甚至不是默认字符串)。我将从这里开始,看看我能得到什么。。。。非常感谢:-)MySQL有一个类似的正则表达式版本,名为
REGEXP
。它还有一个名为
REPLACE
的字符串替换函数。应该做的是用替换X。将列转换为正则表达式,该正则表达式匹配任何数字而不是X。