MSSQL中replace()函数和stuff()函数都是替换字符串的函数,但是他们之间有什么区别呢?
1.replace(字符串表达式1,字符串表达式2,字符串表达式3):
用字符串表达式3替换字符串表达式1中出现的所有字符串表达式2的匹配项。返回新的字符串。
例如:select replace('abcttabchhabc','abc','123')
返回 123tt123hh123
总结:replace()函数可以多次替换,只要是在字符串表达式1中有字符串表达式2的出现,最后都会被替换成字符串表达式3.
2.stuff(字符串表达式1,开始位置,长度,字符串表达式2):
在字符串表达式1中在指定的开始位置删除指定长度的字符,并在指定的开始位置处插入字符串表达式2。返回新字符串。
例如:select stuff('abcdef',2,2,'123')
返回 a123def
总结:stuff()函数只能一次性替换字符串表达式1中连续长度的字符串,不能循环替换。
其实这两个函数挺简单的,只要参考一眼就会用,之所以把这么简单的知识放在这里,是因为我在用的时候也用错了一次,一来提醒自己,方便自己之后参考;二来给忘记怎么用的朋友一点帮助。