1. 程式人生 > >mysql 字串處理函式 擷取字串

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 使用一個負值。