欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql分割字符串轉(zhuǎn)換多行

傅智翔2年前8瀏覽0評論

MySQL中經(jīng)常需要對字符串進行操作,比如將字符串進行分割并轉(zhuǎn)換成多行。下面我們就來看一下具體的實現(xiàn)方法。

首先,我們需要使用MySQL中內(nèi)置的函數(shù)SUBSTRING_INDEX()對字符串進行分割:

SELECT SUBSTRING_INDEX("apple,banana,orange,grape", ",", 1); -- 輸出結(jié)果為"apple"
SELECT SUBSTRING_INDEX("apple,banana,orange,grape", ",", 2); -- 輸出結(jié)果為"apple,banana"
SELECT SUBSTRING_INDEX("apple,banana,orange,grape", ",", 3); -- 輸出結(jié)果為"apple,banana,orange"
SELECT SUBSTRING_INDEX("apple,banana,orange,grape", ",", -1); -- 輸出結(jié)果為"grape"

在上面的代碼中,我們將字符串"apple,banana,orange,grape"以","為分割符進行分割,分別獲取1、2、3、-1位置之前的子串。我們可以通過修改SUBSTRING_INDEX()函數(shù)的第二個參數(shù)來變更分割的位置。如果第二個參數(shù)為正數(shù),則表示從左往右第幾個分割位置之前的子串;如果為負數(shù),則表示從右往左第幾個分割位置之后的子串。

接下來,我們就可以利用上述方法對字符串進行分割并轉(zhuǎn)換成多行了:

SELECT SUBSTRING_INDEX("apple,banana,orange,grape", ",", 1) AS fruit_name
UNION ALL
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX("apple,banana,orange,grape", ",", 2), ",", -1) AS fruit_name
UNION ALL
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX("apple,banana,orange,grape", ",", 3), ",", -1) AS fruit_name
UNION ALL
SELECT SUBSTRING_INDEX("apple,banana,orange,grape", ",", -1) AS fruit_name;

在上面的代碼中,我們通過UNION ALL將四個子串合并到一起,并使用別名fruit_name統(tǒng)一列名。從代碼中我們可以看到,第二個UNION ALL的參數(shù)中使用了兩次SUBSTRING_INDEX()函數(shù),第一個SUBSTRING_INDEX()函數(shù)將原字符串以","為分割符分割成"apple,banana"兩個子串,第二個SUBSTRING_INDEX()函數(shù)再對第一個子串以","為分割符進行分割,獲取第二個子串"banana"。根據(jù)這樣的方法,我們就可以將字符串進行分割并轉(zhuǎn)換成多行了。