在 MySQL 中将逗号分隔的字符串拆分为临时表
使用 MySQL,无法直接拆分逗号分隔的字符串使用正则表达式写入临时表。这是因为 MySQL 缺少内置的分割字符串功能。
解决方案
由于直接分割不可行,您可以采用多种解决方法:
1。使用自定义函数拆分
您可以在 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, '');
2。使用循环
在循环中调用自定义函数并递增位置,直到返回空值:
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; # Insert into temp table here with str going into the row insert into my_temp_table values (str); END LOOP simple_loop; END $$
3.脚本语言集成
或者,您可以使用 PHP 等脚本语言来分割字符串并执行必要的操作。
结论
虽然MySQL缺乏专用的分割字符串函数,但这些解决方法使您能够有效地将逗号分隔的字符串解析到临时表中。选择最适合您的要求和偏好的方法。
以上是如何将逗号分隔的字符串拆分到 MySQL 临时表中?的详细内容。更多信息请关注PHP中文网其他相关文章!