mysql常用的字符串函數彙總

字符串函數彙總

CONCAT(column|str1, column|str2,…) 將多個字符串首尾相連後返回
CONCAT_WS(separator,str1,str2,…) 將多個字符串指定連接符首尾相連後返回
SUBSTR(str,pos[,len]) 從源字符串str中的指定位置pos開始取一個字串並返回
LOWER(column|str) 全部轉爲小寫返回
UPPER(column|str) 全部轉爲大寫返回
LENGTH(str) 返回字符串的存儲長度
CHAR_LENGTH(str) 返回字符串中的字符個數
INSTR(str, substr) 從源字符串str中返回子串substr第一次出現爲位置
LPAD(str, len, padstr) 在源字符串的左邊填充給指定的字符串padstr到指定的長度len,返回填充後的字符串
RPAD(str, len, padstr) 在源字符串的右邊填充給定的字符padstr到指定的長度len,返回填充後的字符串 
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr FROM] str) 從源字符串str中去掉兩端、前綴或後綴字符remstr並返回。如果不指定remstr,則去掉str兩端的空格。不指定BOTH、LEADING(左)、TRAILING(右) ,則默認爲 BOTH
REPLACE(str, from_str, to_str) 在源字符串str中查找所有的子串from_str(大小寫敏感),找到後使用替代字符串to_str替換它。返回替換後的字符串
LTRIM(str),RTRIM(str) 去掉字符串的左邊或右邊的空格  
REPEAT(str, count) 將字符串str重複count次後返回
REVERSE(str) 將字符串str反轉後返回
CHAR(N,… [USING charset_name]) 它將每個參數N解釋爲整數(字符的編碼),並返回每個整數對應的字符所構成的字符串。NULL值被忽略
SPACE(N) 返回由N個空格構成的字符串
LEFT(str, len) 返回最左邊的len長度的子串
RIGHTT(str, len) 返回最右邊的len長度的子串
STRCMP(expr1,expr2) 如果兩個字符串是一樣的則返回0;如果第一個小於第二個則返回-1;否則返回1

1、CONCAT(column|str1, column|str2,…)

SELECT concat('My', 'S', 'QL') as result;

2、CONCAT_WS(separator,str1,str2,…)

SELECT concat_ws('-', '廣東省', '廣州市','天河區') as result;

3、SUBSTR(str,pos[,len])

 SELECT substring('hello world',5);       ---> 結果:o world

 SELECT substring('hello world',5,3);    ---> 結果:o w

 SELECT substring('hello world',-5);      --->結果:world

4、LOWER(column|str)

SELECT LOWER('Hello World');

輸出結果:hello world

5、UPPER(column|str)

SELECT UPPER('Hello World');

輸出結果:HELLO WORLD

6、LENGTH(str)

SELECT LENGTH('jacklin');

輸出結果:7

7、CHAR_LENGTH(str)

SELECT CHAR_LENGTH('jacklin');

輸出結果:7

8、INSTR(str, substr)

SELECT instr('foobarbar', 'bar') as result;

9、LPAD(str, len, padstr)

SELECT LPAD('hi',4,'?');

10、RPAD(str, len, padstr)

SELECT RPAD('hi',4,'?');

11、TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr FROM] str)

SELECT trim('bar');                         --bar
SELECT trim(LEADING 'x' FROM 'xxxbarxxx');  --barxxx
SELECT trim(BOTH 'x' FROM 'xxxbarxxx');     --bar
SELECT trim(TRAILING 'xyz' FROM 'barxxyz'); --barx

12、REPLACE(str, from_str, to_str)

SELECT REPLACE('https://my.oschina.net/jacklinnn/blog/write/5070900','https','http');

13、LTRIM(str),RTRIM(str)

SELECT ltrim('  barbar  ') rs1, rtrim('  barbar  ') rs2;

14、REPEAT(str, count)

SELECT repeat('MySQL', 3) res;

15、REVERSE(str)

SELECT REVERSE('hello world') res;

16、CHAR(N,… [USING charset_name])

SELECT char(77,121,83,81,'76') res1,char(77,77.3,'77.3') res2;

17、SPACE(N) 返回N個空格構成的字符串

18、LEFT(str, len)

SELECT left('foobarbar', 5) res;

19、 RIGHTT(str, len)

SELECT right('foobarbar', 4) as res;

20、 STRCMP(expr1,expr2)  如果兩個字符串是一樣的則返回0;如果第一個小於第二個則返回-1;否則返回1

SELECT strcmp('text', 'text2') res1,strcmp('text2', 'text') res2;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章