问题:
是否可以解析使用常规方法将逗号分隔的字符串放入临时 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中文网其他相关文章!