用法:
SUBSTRING(str,pos,len)
SUBSTRING(str FROM pos FOR len)
SUBSTRING(str,pos)
SUBSTRING(str FROM pos)
別名SUBSTR
截取字符串str從pos開始長度為len的字符串,如果不設置len參數默認獲取pos以後的所有內容
注意字符串的索引是從1開始。
如果pos為負數則從字符串的後面開始截取。
1.截取pos後所有的數據
代碼如下 復制代碼mysql> select substring('mysql database',2);
+——————————-+
| substring('mysql database',2) |
+——————————-+
| ysql database |
+——————————-+
1 row in set
2.截取pos後3個字符數據
代碼如下 復制代碼mysql> select substring('mysql database',2,3);
+———————————+
| substring('mysql database',2,3) |
+———————————+
| ysq |
+———————————+
1 row in set
3.看一些其它實例
代碼如下 復制代碼mysql> SELECT SUBSTRING(‘Quadratically’,5);
-> ‘ratically’
mysql> SELECT SUBSTRING(‘foobarbar’ FROM 4);
-> ‘barbar’
mysql> SELECT SUBSTRING(‘Quadratically’,5,6);
-> ‘ratica’
mysql> SELECT SUBSTRING(‘Sakila’, -3);
-> ‘ila’
mysql> SELECT SUBSTRING(‘Sakila’, -5, 3);
-> ‘aki’
mysql> SELECT SUBSTRING(‘Sakila’ FROM -4 FOR 2);
-> ‘ki’
既然講到這裡來了我再看看
substring_index
substring_index(str,delim,count)
代碼如下 復制代碼mysql> SELECT SUBSTRING_INDEX(‘www.111cn.net’, ‘.’, 2);
-> ‘www.111cn’
mysql> SELECT SUBSTRING_INDEX(‘www.111cn.net’, ‘.’, -2);
-> ‘111cn.net’