mysql split 逗号分隔_MySQL拆分逗号分隔的字符串到临时表中

小编典典

MySQL没有拆分字符串函数,因此您必须解决。使用上面答案页中列出的方法之一分割数据后,您就可以对数据进行任何处理。

您可以遍历该自定义函数,并在返回空值时中断它,您必须播放并学习一些语法(或者至少是我愿意),但是mysql中FOR循环的语法是:

http://www.roseindia .net / sql / mysql-example /

for.shtml

您可以对其进行迭代,从而增加以下函数中的位置:

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

//blog.fedecarg.com/2009/02/22/mysql-split-string-

function/)

如果找不到匹配项,则应返回“”,因此,如果找不到匹配项,则中断循环。这将允许您仅使用mysql解析拆分字符串并将插入查询运行到临时表中。但是,为什么不只使用php之类的脚本语言来完成这种工作呢?:(

循环语法代码:

DELIMITER $$

CREATE PROCEDURE ABC(fullstr)

BEGIN

DECLARE a INT Default 0 ;

DECLARE str VARCHAR(255);

simple_loop: LOOP

SET a=a+1;

SET str=SPLIT_STR(fullstr,"|",a);

IF str='' THEN

LEAVE simple_loop;

END IF;

#Do Inserts into temp table here with str going into the row

insert into my_temp_table values (str);

END LOOP simple_loop;

END $$

2020-05-17


版权声明:本文为weixin_39968801原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。