首页 > 数据库 > mysql教程 > 如何使用正则表达式将逗号分隔的字符串拆分为 MySQL 临时表?

如何使用正则表达式将逗号分隔的字符串拆分为 MySQL 临时表?

Patricia Arquette
发布: 2024-12-19 21:38:13
原创
112 人浏览过

How to Split a Comma-Separated String into a MySQL Temp Table Using Regular Expressions?

MySQL 使用正则表达式将逗号分隔的字符串拆分为临时表

MySQL 缺乏专用的拆分字符串函数,需要其他方法。一种方法涉及通过迭代自定义函数来模拟拆分。

自定义拆分函数

以下函数在位置 pos 处拆分由 delim 分隔的字符串 x:

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, '');
登录后复制

循环并插入到临时文件中表

要迭代分割字符串并将其插入到临时表中,请使用 LOOP 语句:

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 $$
登录后复制

注意: 使用如下脚本语言PHP 执行此类任务可能比仅依赖 MySQL 更高效。

以上是如何使用正则表达式将逗号分隔的字符串拆分为 MySQL 临时表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板