您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

MySQL拆分逗号分隔的字符串到临时表中

MySQL拆分逗号分隔的字符串到临时表中

这个问题与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, '');

如果找不到匹配项,则应返回“”,因此,如果找不到匹配项,则中断循环。这将允许您仅使用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 $$
MySQL 2022/1/1 18:24:32 有364人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶