本文地址:http://www.cnblogs.com/qiaoyihang/p/6270165.html
mysql 本身並沒有 split 函數,但是,我們實現累死功能的自定義函數是非常簡單的
創建函數的語法
用戶自定義函數是拓展mysql函數的一種方式,它用起來和mysql本身自帶的函數沒有什么區別
創建一個自定義函數的語法:
CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL}
split 函數
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, '');
用法:
SELECT SPLIT_STR(string, delimiter, position)
例子:
SELECT SPLIT_STR('a|bb|ccc|dd', '|', 3) as third; +-------+ | third | +-------+ | ccc | +-------+