MySQL查询:以逗号分隔的方式实现(mysql逗号分隔查询)

字符串的拆分

MySQL查询以逗号分隔的字符串拆分是在数据库中实现字符串拆分常见的方法之一。

在很多需求中,我们需要从一个字符串中拆分出一个字符串数组,例如将一个以逗号分割的字符串’123,615,234,821’拆分成一组数据[‘123’, ‘615’, ‘234’, ‘821’]。在MySQL中这个操作可以使用MySQL自带的函数进行实现,具体实现为:

SELECT value # 将数据拆分出来,但字段类型为string

from

(SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(str, ‘,’, n), ‘,’, -1) AS value

from (select ‘123,615,234,821’ as str) x

join

(SELECT a.N + b.N * 10 + 1 n

FROM

(SELECT 0 AS N union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) a

,(SELECT 0 AS N union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) b

ORDER BY n) y

where n

) x

使用MySQL的函数,我们可以按照其实现原理,把字符串先拆分到一个临时表,然后再按照需求返回结果。

通过MySQL查询可以实现以逗号分隔的字符串拆分,把一个字符串拆分成一组数据,这个方法多用于字符串数据操作,使用MySQL自带的函数,可以使代码实现更简洁,处理数据更容易。


数据运维技术 » MySQL查询:以逗号分隔的方式实现(mysql逗号分隔查询)