用法:
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’ |