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

我目前正在MYSQL中处理一个函数,我有一个逗号分隔的字符串(1,22344,55)来自另一个表,我如何在MYSQL中将它拆分为一个数组(而不是临时表)。另外,MYSQL中是否有类似的函数可以执行foreach()?

SQL版本的foreach称为

MYSQL不包含分割分隔字符串的函数。但是,创建自己的函数非常容易

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');