1. 程式人生 > >mysql函式substring_index使用方法

mysql函式substring_index使用方法

SUBSTRING_INDEX(str,delim,count)

SUBSTRING_INDEX() 搜尋delim時進行區分大小寫的匹配。

mysql中一個很好用的擷取字串的函式:substring_index。

用法規則:

substring_index(“待擷取有用部分的字串”,“擷取資料依據的字元”,擷取字元的位置N)

具體例子:

首先假定需要擷取的字串為“15,151,152,16”(雖然這裡指的不是iP,可以看作是ip結構來處理吧),

這裡擷取的依據是逗號:“,”

具體要擷取第N個逗號前部分的字元;

意思是:在字串中以逗號為索引,獲取不同索引位的字元

結果如下:

取第一個逗號前的字串 :

SELECT SUBSTRING_INDEX('15,151,152,16',',',1); ==>得到結果為: 15

N可以為負數,表示倒數第N個索引字元後面的字串。

(有負號的時候,可以將整個字元倒過來看,依舊是第N個字元前面的部分。)
SELECT SUBSTRING_INDEX('15,151,152,16',',',-1);==>得到結果為: 16

取第2個逗號前那部分字串裡,最後逗號後面的部分

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('15,151,152,16',',',2),',',-1);==>得到結果為: 151

取倒數第二個逗號後面部分字串,再去這部分裡第一個都號前的部分:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('15,151,152,16',',',-2),',',1);==> 得到結果為:152

SELECT SUBSTRING_INDEX('15,151,152,16',',',-1);==>得到結果為: 16