STUFF函数
STUFF函数通常用于替换字符串中的一部分,当用空替换时候则可取子字符串,当用其他字段替换时则可拼接两个字段。
stuff(expression,start,length,replaceWith_expression)
参数说明:
start:整数,表示删除和插入的开始位置;如果start是0,或大于字符串的总长度,那么该函数返回NULL;
length:整数,表示删除字符的最大数量;如果Length+Start大于字符串的总长度,表示删除从Start开始的所有字符;
replaceWith_expression :字符类型,表示从开始位置(start)插入的字符串;
- 取子字符串示例(从第四个位置到最后字符替换为空,得到前三个字符):
- 取分隔符之前的子字符串示例(取第一个逗号前的子字符串):
使用stuff函数将该位置开始的字符替换为空字符串,从而得到逗号前的部分。请注意,这个示例假设每个值中只有一个逗号。如果有多个逗号,它仅处理第一个逗号。
SUBSTRING函数
对字符串进行截取,得到子字符串,具体语法如下;
substring(expression,start,length)
参数说明:
expression:要截取的字符串
start:截取开始的位置;
length:截取的长度;
- 取子字符串示例
下面是一个简单的示例,演示如何stuff函数和substring函数取子字符串用法对比:
用法对比总结:
STUFF函数取子字符串通过把其他的字符置为空,支持拼接其他字段,形成新的字符串;
SUBSTRING通过位置索引的方式取子字符串,不支持拼接其他字段;