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)
