mysql 字串處理函式 擷取字串
使用MySQL,我們很多時候都會出現需要擷取字串的情況,所以關於字串的擷取的方式有必要記錄下去。
MySQL擷取字串的函式有:
left(str, length):從左邊開始擷取,length是擷取的長度。
right(str,length):同上,不過方向相反
substring(str,pos,[length])
如果是substring(str,pos)
函式,我可能要使用查詢字串中某個字元的位置問題。所有就要使用
locate(search,str):返回search在str的位置
最後,獲取長度的函式是length(str)
:返回str的長度。
詳細介紹函式:
1 、從左開始擷取字串 `left(str, length)`
說明:left(被擷取欄位,擷取長度)
例:select left(content,200) as abstract from my_content_t
2、從右開始擷取字串
right(str, length)
說明:right(被擷取欄位,擷取長度)
例:select right(content,200) as abstract from my_content_t
3、擷取字串
substring(str, pos)
substring(str, pos, length)
說明:substring(被擷取欄位,從第幾位開始擷取)
substring (被擷取欄位,從第幾位開始擷取,擷取長度)
例:select substring(content,5) as abstract from my_content_t
select substring(content,5,200) as abstract from my_content_t
(注:如果位數是負數 如-5 則是從後倒數位數,到字串結束或擷取的長度)
4、按關鍵字擷取字串
substring_index(str,delim,count)
說明:substring_index(被擷取欄位,關鍵字,關鍵字出現的次數)
例:select substring_index(”blog.jb51.net”,”。”,2) as abstract from my_content_t
結果:blog.jb51
(注:如果關鍵字出現的次數是負數 如-2 則是從後倒數,到字串結束)
函式簡介:
SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len)
不帶有len 引數的格式從字串str返回一個子字串,起始於位置 pos。帶有len引數的格式從字串str返回一個長度同len字元相同的子字串,起始於位置 pos。 使用 FROM的格式為標準 SQL 語法。也可能對pos使用一個負值。假若這樣,則子字串的位置起始於字串結尾的pos 字元,而不是字串的開頭位置。在以下格式的函式中可以對pos 使用一個負值。