MySQL數據庫是應用最廣泛的關系型數據庫之一,其中字符串(string)處理是非常常見的一個操作。字符串截取操作是對字符串數據的處理中經常用到的技巧之一,下面我們來了解一下MySQL的字符串截取函數。
MySQL字符串截取函數主要有三個:
SUBSTRING(str,position,length) SUBSTR(str,position,length) MID(str,position,length)
SUBSTRING函數:
SELECT SUBSTRING('abcdefg',2,3); --bcd
從字符串'abcdefg'中的第二個字符開始,截取三個字符,返回結果為'bcd'。
SUBSTR函數:
SELECT SUBSTR('abcdefg',2,3); --bcd
效果和SUBSTRING相同。
MID函數:
SELECT MID('abcdefg',2,3); --bcd
同樣和SUBSTRING相同。
這三個函數更多的區別在于,SUBSTR和MID是作為SUBSTRING的別名存在的,而SUBSTRING是ANSI標準定義的函數,因為MySQL遵循了該標準,所以在MySQL中三個函數的效果是一樣的。
如果傳入的length參數為負,那么SUBSTRING函數會將字符串的開頭和結尾截取,如下所示:
SELECT SUBSTRING('abcdefg',-4,3); --efg
這樣的話,就截取了從倒數第四個字符開始,截取三個字符的結果。
還可以不傳入length參數,那么會默認截取從position位置開始的所有字符:
SELECT SUBSTRING('abcdefg',3); -- cdefg
這樣的話,就從字符串的第三個字符開始截取到字符串末尾的所有字符。
在實際開發中,我們可能需要使用字符串的一部分來進行一些操作。這時我們就可以使用MySQL的字符串截取函數來獲取需要的那部分字符串了。