1. 程式人生 > >mysql中的字符函數舉例

mysql中的字符函數舉例

可能 截取 str2 其中 兩個 表示 函數 否則 tor

1:字符函數

concat()

說明:將字符串連接,可以是一個或多個字符串。若都是非二進制的字符,那麽返回的結果也是非二進制的。若包含任何二進制字符,那麽結果則是二進制的。若是數值型的,也將轉換成非二進制的形式。若其中任意一個字符是NULL,則CONCAT()返回的結果為NULL.。

語法:concat(str1,str2......)

舉例:

SELECT CONCAT(‘你‘,‘是‘,‘誰‘);結果為:你是誰

SELECT CONCAT(‘你‘,NULL,‘誰‘); 結果為:NULL

SELECT CONCAT(13.2);結果為:13.2

concat_ws()

說明:表示用分隔符將字符串連接,是一種特殊形式的連接函數。第一個參數表示分隔符,各字符串之間通過分隔符連接,分隔符可以是一個字符串,也可以是其他形式,如果分隔符為NULL,那麽返回的結果也是NULL。

語法:CONCAT_WS(separator,str1,str2,…);

舉例:

SELECT CONCAT_WS(‘-‘,‘1‘,‘2‘,‘3‘); 結果為:1-2-3

SELECT CONCAT_WS(NULL,‘1‘,‘2‘,‘3‘); 結果為:NULL

ELT()

說明:ELT函數是指返回一個字符串List的第N個元素,如果N=1,返回str1;如果N=2,返回str2. 如果N小於1或大於字符串元素的個數,則返回NULL。

語法:ELT(N,str1,str2,str3,…);

舉例:

SELECT ELT(4,‘1‘,‘2‘,‘3‘); 結果為:NULL

SELECT ELT(1,‘你‘,‘是‘,‘誰‘); 結果為:你

FIELD()

說明:FIELD函數是指返回某字符串在字符串List的位置,如果字符串List未找到指定的字符串,則返回0. 若FIELD()中所有的參數都是字符串型,則將以字符串類型作為比較;如果所有的參數都是數字型,則將以數字類型作為比較;否則,以double類型進行比較。如果字符串為NULL,則返回的值為0,因為NULL和所有值比較都不相等。

語法:FIELT(N,str1,str2,str3,…);

舉例:

SELECT FIELD(‘你‘,‘你‘,‘是‘,‘誰‘); 結果為:1

SELECT FIELD(‘好‘,‘你‘,‘是‘,‘誰‘); 結果為:0

SELECT FIELD(NULL,‘你‘,‘是‘,‘誰‘); 結果為:0

INSERT()

說明:從起始位置截取一定長度的字符串,用新字符串代替截取的字符串,返回結果。如果位置不在字符串的長度範圍內,則返回原始字符串。如果長度不在字符串剩余長度範圍內,則從起始位置將剩余的字符串替換。如果任意一個參數為NULL,則結果返回NULL。

語法:INSERT(str,pos,len,newstr);

舉例:

SELECT INSERT(‘Quadratic‘,3,4,‘What‘); 結果為:QuWhattic

SELECT INSERT(‘Quadratic‘,-1,4,‘What‘); 結果為:Quadratic

SELECT INSERT(‘Quadratic‘,3,100,‘What‘); 結果為:QuWhat

SELECT INSERT(‘Quadratic‘,NULL,100,‘What‘); 結果為:NULL

INSTR()

說明:返回字符串中所要截取的字符串第一次出現的位置。此函數的功能和帶有兩個參數的LOCATE()函數相同,只是參數的順序是相反的。

語法:INSTR(str,substr);

舉例:

SELECT INSTR(‘foobarbar‘,bar‘); 結果為:4

SELECT INSTR(‘xbar‘,‘foobar‘); 結果為:0

LOCATE()

說明:帶有兩個參數的LOCATE()函數返回字符串中所要截取的字符串第一次出現的位置。三個參數的LOCATE()指的是從字符串的指定位置開始,得出所要截取的字符串第一次出現的位置

語法:LOCATE(substr,str),LOCATE(substr,str,pos)

舉例;

SELECT LOCATE(‘bar‘,‘foobarbar‘); 結果為:4

SELECT LOCATE(‘xbar‘,‘foobar‘);;結果為:0

SELECT LOCATE(‘bar‘,‘foobarbar‘,5);結果為:7

SUBSTRING()

說明:和SUBSTR()同義。共有4種形式。沒有len參數的形式,是指從指定的位置開始截取字符串,結果是截取後的字符串;有len參數的,是指從指定的位置開始截取len長度的字符串;帶有FROM的形式,是標準的SQL形式,但其位置可能是一個負數,則截取字符串是從字符串最後位置開始截取,而不是起始位置。

語法:SUBSTRING(str,pos),SUBSTRING(str FROM pos),SUBSTRING(str,pos,len),SUBSTRING(str FROM pos FOR len)

舉例:省略。。。

SUBSTRING_INDEX()

說明:返回一個字符串中,從某個標記出現的某個次數開始截取的結果。如果次數是一個正值,則返回這個字符左邊的所有字符;如果這個值是一個負值,則返回這個字符右邊的所有字符。

語法:SUBSTRING_INDEX(str,delim,count)

舉例:

SELECT SUBSTRING_INDEX(‘www.mysql.com‘,‘.‘,2);結果為:www.mysql

SELECT SUBSTRING_INDEX(‘www.mysql.com‘,‘.‘,-2);結果為:mysql.com

mysql中的字符函數舉例