0x01 left 函数
说明: 从左开始截取字符串
用法: left(str, length),即: left(被截取字符串, 截取长度)
0x01.1 left 例子
sql server > SELECT LEFT('hello world',8);
+-----------------------+
| field1 |
+-----------------------+
| hello wo |
+-----------------------+
1 row in set (0.00 sec)
0x02 right 函数
从右开始截取字符串
用法: right(str, length),即: right(被截取字符串, 截取长度)
0x02.1 right 例子
sql server > SELECT RIGHT('hello world',8);
+------------------------+
| field1 |
+------------------------+
| lo world |
+------------------------+
1 row in set (0.00 sec)
0x03 substring 函数
截取特定长度的字符串
用法:
- substring(str, pos),即: substring(被截取字符串, 从第几位开始截取)
substring(str, pos, length)- 即: substring(被截取字符串,从第几位开始截取,截取长度)
0x03.1 substring 例子一
从字符串的第2个字符开始,只取3个字符
sql server > SELECT SUBSTRING('hello world', 2, 3);
+--------------------------------+
| field1 |
+--------------------------------+
| ell |
+--------------------------------+
1 row in set (0.00 sec)
0x03.2 substring 例子二
从字符串每次获取一个字符
sql server > SELECT SUBSTRING('hello world', 1, 1);
+--------------------------------+
| field1 |
+--------------------------------+
| h |
+--------------------------------+
1 row in set (0.00 sec)
sql server > SELECT SUBSTRING('hello world', 2, 1);
+--------------------------------+
| field1 |
+--------------------------------+
| e |
+--------------------------------+
1 row in set (0.00 sec)
sql server > SELECT SUBSTRING('hello world', 3, 1);
+--------------------------------+
| field1 |
+--------------------------------+
| l |
+--------------------------------+
1 row in set (0.00 sec)
0x04 STUFF 函数
他并不是一个字符串截取函数,但是我们可以利用他,作为一个字符串截取函数
STUFF 函数将字符串插入到另一个字符串中。
它从第一个字符串的开始位置删除指定长度的字符;
然后将第二个字符串插入到第一个字符串的开始位置。
STUFF(‘要进行修改的数据’ , (int)’开始位置’ , (int)’删除的字符数’ , ‘插入开头的内容’)
0x04.1 STUFF 例子
sql server > select STUFF('abcde',1,0,'');
+--------------------------------+
| field1 |
+--------------------------------+
| abcde |
+--------------------------------+
1 row in set (0.00 sec)
sql server > select STUFF('abcde',1,1,'');
+--------------------------------+
| field1 |
+--------------------------------+
| bcde |
+--------------------------------+
1 row in set (0.00 sec)
sql server > select STUFF('abcde',1,2,'');
+--------------------------------+
| field1 |
+--------------------------------+
| cde |
+--------------------------------+
1 row in set (0.00 sec)