在mysql中常用的字符串截取函数有substring,SUBSTRING_INDEX了,substring是pos开始长度为len的字符串了,这个与php字符串截取函数有点像哦,下面我们一起来看看。
用法:
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’
|