Mysql 数组数据类型,拆分字符串,
我目前正在MYSQL中处理一个函数,我有一个逗号分隔的字符串(1,22344,55)来自另一个表,我如何在MYSQL中将它拆分为一个数组(而不是临时表)。另外,MYSQL中是否有类似的函数可以执行foreach()?SQL版本的foreach称为MYSQL不包含分割分隔字符串的函数。但是,创建自己的函数非常容易Mysql 数组数据类型,拆分字符串,,mysql,Mysql,我目前正在MYSQL中处理一个函数,我有一个逗号分隔的字符串(1,22344,55)来自另一个表,我如何在MYSQL中将它拆分为一个数组(而不是临时表)。另外,MYSQL中是否有类似的函数可以执行foreach()?SQL版本的foreach称为MYSQL不包含分割分隔字符串的函数。但是,创建自己的函数非常容易 CREATE FUNCTION SPLIT_STR( x VARCHAR(255), delim VARCHAR(12), pos INT ) RETURNS VARCHAR
CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');
用法
从这里开始:
MySQL的正确用法是:
SELECT FIND_IN_SET('b','a,b,c,d');
给出结果:2这也是mariaDB最好、最快的解决方案。
SELECT FIND_IN_SET('b','a,b,c,d');