MySQL中一個很好用的截取字符串的函數:substring_index。mysql
用法規則:sql
substring_index(「待截取有用部分的字符串」,「截取數據依據的字符」,截取字符的位置N)數據庫
具體例子:json
首先假定須要截取的字符串爲「15,151,152,16」(雖然這裏指的不是iP,能夠看做是ip結構來處理吧),函數
這裏截取的依據是逗號:「,」.net
具體要截取第N個逗號前部分的字符;索引
意思是:在字符串中以逗號爲索引,獲取不一樣索引位的字符ip
結果以下:字符串
取第一個逗號前的字符串 :get
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
如果數據庫查詢json的某一個字符的時候,例如:{"id":"101","name":"龍工"}
則能夠
SELECT SUBSTRING(SUBSTRING_INDEX(userId, '",', 1),8,40)id from ed_electrictask