MySQL實現Split用法

MySQL沒有Split 函數,需要自己定義,以下是幾個自定義的split函數,MySQL裏的Split用法。
CREATE  PROCEDURE sp_split(in words varchar(2000),in regex varchar(20))
BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS temp_key_split
(
   key_words varchar(20)
);
DELETE FROM temp_key_split;
while(instr(words,regex)<>0) DO
INSERT temp_key_split(key_words) VALUES (substring(words,1,instr(words,regex)-1));
set words = INSERT(words,1,instr(words,regex),'');
END WHILE;
INSERT temp_key_split(key_words) VALUES (words); 
END;

MyBatis中操作存儲過程

<select id="callStoredProcedure" parameterType="pd" statementType="CALLABLE">
	call sp_split((
		SELECT GROUP_CONCAT(seo_keywords) FROM shopping_goods WHERE seo_keywords LIKE CONCAT(CONCAT('%', #{goods_key}),'%')
	), ',');
</select>

本文地址:https://www.linuxprobe.com/mysql-implements-split.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章