MySQL的分列函數可以將一個長字符串按指定分隔符拆分成多個獨立的子串,并將它們存入若干個列中。這個功能在處理大數據量的時候非常有用,尤其是在需要對非結構化的文本進行清洗和分析的場合。
-- 以”,”為分隔符拆分字符串 SELECT SUBSTRING_INDEX('apple,banana,cherry,durian', ',', 1) AS 'fruit_1', SUBSTRING_INDEX(SUBSTRING_INDEX('apple,banana,cherry,durian', ',', 2), ',', -1) AS 'fruit_2', SUBSTRING_INDEX(SUBSTRING_INDEX('apple,banana,cherry,durian', ',', 3), ',', -1) AS 'fruit_3', SUBSTRING_INDEX(SUBSTRING_INDEX('apple,banana,cherry,durian', ',', -1), ',', -1) AS 'fruit_4';
在上面的代碼中,我們使用了SUBSTRING_INDEX()函數,它的第一個參數是需要拆分的字符串,第二個參數是分隔符,第三個參數是指定是拆分成前幾個子串還是后幾個子串。例如,SUBSTRING_INDEX(‘apple,banana,cherry,durian’, ‘,’, 2)指拆分字符串‘apple,banana,cherry,durian’,并返回前兩個子串,即‘apple’和‘banana’。
值得一提的是,SUBSTRING_INDEX()函數返回的結果依賴于第三個參數的正負,如果是正數,那么就返回前幾個子串;如果是負數,則返回后幾個子串。SUBSTRING_INDEX('apple,banana,cherry,durian', ',', -1)的意思是返回字符串‘apple,banana,cherry,durian’中最后一個子串‘durian’。
最終,我們將分拆出來的四個子串分別存儲到了名為fruit_1、fruit_2、fruit_3和fruit_4的列中。
上一篇vue hook方式
下一篇vue hot map