mysql> select * from tb_test;
+
| id | name | list |
+
| 1 | a | 853,697,54564,521,38,784564,24 |
| 2 | b | 6,7,8 |
| 3 | c | 6,78,99 |
| 4 | d | 66,78,99 |
+
筛选出list字段含有6的内容
mysql> select * from tb_test where find_in_set(6, list);
+
| id | name | list |
+
| 2 | b | 6,7,8 |
| 3 | c | 6,78,99 |
+
数据库中,某一个字段,含有多个数字序号,并按逗号分隔,如何精确匹配这个字段中包含制定序号FIND_IN_SET()例子:mysql> select * from tb_test;+----+------+--------------------------------+| id | name | list |+----+------+--------------------------------+| 1 | a | 853,6
select * from 表名 WHERE CONCAT(",", `查询的字段`, ",") REGEXP ",(val1|val2|val3),"
实现思路 1.给mysql字段首尾填充两个逗号
2.使用正则匹配填充逗号的数据
select distinct(substring_index(substring_index(a.col,',',b.help_topic_id+1),',',-1))
(select group_concat(
1. CONCAT(a,b...,f) 将a,b...,f连接成字符串,动态语句不可少的函数
2. CONCAT_WS(',',a,b...,f) 将a,b...,f连接成字符串,并用','字符间隔,分隔符可替换为其他分隔符
3. INSERT(str,pos,len,newstr) 返回字符串str,在位置pos起始的子串且len个字符长得子串由字符串newstr代替
4. REVERSE(str) 返回颠倒字符顺序的字符串str
5. SUBSTRING(str,pos...
MySQL 中的 SPLIT 函数可以用于将字符串按指定分隔符分割成数组。通常情况下,逗号是最常见的分隔符。如果您希望将逗号分隔的字符串转化为单独的值,则可以使用 MySQL 的 SPLIT 函数。
MySQL 的 SPLIT 函数可以使用 SUBSTRING_INDEX 函数进行实现。以逗号为分隔符的情况下,可以将字符串分割成多个部分,并且每个部分都是通过逗号分隔的。使用 SUBSTRING_INDEX 函数,可以指定字符串和分隔符,并返回指定的子字符串,在这种情况下就是逗号分隔的子字符串。
以下是一个使用 MySQL SPLIT 函数的示例:
SELECT SUBSTRING_INDEX('one,two,three', ',', 1) AS str1,
SUBSTRING_INDEX(SUBSTRING_INDEX('one,two,three', ',', 2), ',', -1) AS str2,
SUBSTRING_INDEX('one,two,three', ',', -1) AS str3;
输出结果将是:
str1: 'one'
str2: 'two'
str3: 'three'
这个示例将“one,two,three”字符串分解成了三个独立的字符串,每个字符串都以逗号为分隔符。结果被打印出来,每个字符串都是一个单独的值。
使用 MySQL SPLIT 函数时,可以依据自己的需要使用不同的分隔符。无论您选择什么分隔符,都可以将其用于将字符串转化为可独立处理的值的数组。