首页 >数据库 >mysql教程 >正则表达式可以将逗号分隔的字符串解析为MySQL临时表吗?

正则表达式可以将逗号分隔的字符串解析为MySQL临时表吗?

Barbara Streisand
Barbara Streisand原创
2024-12-18 03:24:17850浏览

Can Regular Expressions Parse Comma-Separated Strings into MySQL Temporary Tables?

利用正则表达式将逗号分隔的字符串解析为 MySQL 临时表

问题:

是否可以解析使用常规方法将逗号分隔的字符串放入临时 MySQL 表中表达式?

答案:

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

循环和递增自定义函数:

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 的循环功能将组件动态插入到临时表中。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn