mysql 字符串截取函數:left(), right(), substring(), substring_index()。還有 mid(), substr()。其中,mid(), substr() 等價于 substring() 函數,substring() 的功能非常強大和靈活。 1. 字符串截取:left(str, length) mysql select left(www.68idc.cn,
MySQL 字符串截取函數:left(), right(), substring(), substring_index()。還有 mid(), substr()。其中,mid(), substr() 等價于 substring() 函數,substring() 的功能非常強大和靈活。
?
1. 字符串截取:left(str, length)
?
mysql> select left(‘www.68idc.cn’, 3);
?
?
+————————-+
| left(‘www.68idc.cn’, 3) |
+————————-+
| sql ? ? ? ? ? ? ? ? ? ? |
+————————-+
2. 字符串截取:right(str, length)
mysql> select right(‘www.68idc.cn’, 3);
+————————–+
| right(‘www.68idc.cn’, 3) |
+————————–+
| com ? ? ? ? ? ? ? ? ? ? ?|
+————————–+
3. 字符串截取:substring(str, pos); substring(str, pos, len)
?
3.1 從字符串的第 4 個字符位置開始取,直到結束。
?
mysql> select substring(‘www.68idc.cn’, 4);
+——————————+
| substring(‘www.68idc.cn’, 4) |
+——————————+
| study.com ? ? ? ? ? ? ? ? ? ?|
+——————————+
3.2 從字符串的第 4 個字符位置開始取,只取 2 個字符。
?
mysql> select substring(‘www.68idc.cn’, 4, 2);
+———————————+
| substring(‘www.68idc.cn’, 4, 2) |
+———————————+
| st ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
+———————————+
3.3 從字符串的第 4 個字符位置(倒數)開始取,直到結束。
?
mysql> select substring(‘www.68idc.cn’, -4);
+——————————-+
| substring(‘www.68idc.cn’, -4) |
+——————————-+
| .com ? ? ? ? ? ? ? ? ? ? ? ? ?|
+——————————-+
3.4 從字符串的第 4 個字符位置(倒數)開始取,只取 2 個字符。
?
mysql> select substring(‘www.68idc.cn’, -4, 2);
+———————————-+
| substring(‘www.68idc.cn’, -4, 2) |
+———————————-+
| .c ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
+———————————-+
我們注意到在函數 substring(str,pos, len)中, pos 可以是負值,但 len 不能取負值。
?
4. 字符串截取:substring_index(str,delim,count)
?
4.1 截取第二個 ‘.’ 之前的所有字符。
?
mysql> select substring_index(‘www.68idc.cn’, ‘.’, 2);
+————————————————+
| substring_index(‘www.68idc.cn’, ‘.’, 2) |
+————————————————+
| www ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
+————————————————+
4.2 截取第二個 ‘.’ (倒數)之后的所有字符。
?
mysql> select substring_index(‘www.68idc.cn’, ‘.’, -2);
+————————————————-+
| substring_index(‘www.68idc.cn’, ‘.’, -2) |
+————————————————-+
| com.cn ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
+————————————————-+
4.3 如果在字符串中找不到 delim 參數指定的值,就返回整個字符串
?
mysql> select substring_index(‘www.68idc.cn’, ‘.coc’, 1);
+—————————————————+
| substring_index(‘www.68idc.cn’, ‘.coc’, 1) |
+—————————————————+
| www.68idc.cn ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
+—————————————————+