問題:
是否可以解析使用常規方法將逗號分隔的字串放入臨時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臨時表嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!