字符串函數彙總
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;