在mysql中,有時候需要將一個字符串轉(zhuǎn)換成數(shù)組,例如將一個字符串"1,2,3,4,5"轉(zhuǎn)換成數(shù)組[1,2,3,4,5]。這個過程可以使用mysql中的內(nèi)置函數(shù)完成。
-- 下面是將字符串轉(zhuǎn)換成數(shù)組的mysql函數(shù): DROP FUNCTION IF EXISTS split_string; DELIMITER $$ CREATE FUNCTION split_string(str VARCHAR(1024), delim VARCHAR(1), str_index INT) RETURNS VARCHAR(1024) BEGIN RETURN SUBSTRING_INDEX(SUBSTRING_INDEX(str, delim, str_index), delim, -1); END$$ DELIMITER ;
使用上述函數(shù)可以很容易地將字符串"1,2,3,4,5"轉(zhuǎn)換成數(shù)組,具體操作如下:
-- 例如要將字符串"1,2,3,4,5"轉(zhuǎn)換成數(shù)組: SELECT split_string('1,2,3,4,5', ',', 1) AS num1, split_string('1,2,3,4,5', ',', 2) AS num2, split_string('1,2,3,4,5', ',', 3) AS num3, split_string('1,2,3,4,5', ',', 4) AS num4, split_string('1,2,3,4,5', ',', 5) AS num5;
運(yùn)行上述代碼會得到以下結(jié)果:
+------+-------+-------+-------+-------+ | num1 | num2 | num3 | num4 | num5 | +------+-------+-------+-------+-------+ | 1 | 2 | 3 | 4 | 5 | +------+-------+-------+-------+-------+
這個時候我們就得到了一個數(shù)組[1,2,3,4,5],其中每一個元素用num1, num2, num3, num4和num5表示。
總之,在mysql中將字符串轉(zhuǎn)換成數(shù)組需要使用內(nèi)置函數(shù),而本文中介紹的split_string函數(shù)就是其一種實(shí)現(xiàn)方式。