在mysql中,我們有時需要對數據進行分割,而split函數就是用于實現字符串分割的函數。
SELECT SPLIT_STR('1,2,3,4',',',2); -- 輸出結果:2
以上代碼中,我們使用了SPLIT_STR函數,函數有三個參數:需要分割的字符串,分割符,分割后的元素下標。該函數會返回分割后的結果。
另外,我們也可以自定義split函數來實現字符串分割功能:
DELIMITER $$ CREATE FUNCTION `my_split`(str VARCHAR(255), delimiter VARCHAR(12), num INT) RETURNS VARCHAR(255) BEGIN SET @s = REPLACE(str, delimiter, CONCAT(delimiter, '|')); SET @a = CONCAT(@s, delimiter); RETURN SUBSTRING_INDEX(SUBSTRING_INDEX(@a, delimiter, num), '|', -1); END$$ DELIMITER ;
以上代碼中,我們創建了一個名為my_split的自定義函數,函數有三個參數:需要分割的字符串,分割符,分割后的元素下標。該函數會返回分割后的元素。
總結:mysql中的split函數可以輕松實現字符串的分割,同時我們也可以自定義函數來滿足不同的需求。