【IT168技术文档】
今天在做图书馆的博硕士论文数据库时,想要用到存储过程,在存储过程中想用到字符串替换功能。先到网上找了一下,基本上所有相关的文章都说在SQL Server中没发现子串全部替换的字符串函数。难道还真的要我自己写一个这样的函数不成?我不死心,于是去查中国铁道出版社出的《SQL Server2000宝典》,在172页字符串函数那部分,我看到了有一个Replace()函数的介绍。不过那个例子举的不太好。我再打开SQL Server的联机手册,在其中查找Replace,它的说明如下:
Replace:用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。
语法
Replace ( 'string_expression1' , 'string_expression2' , 'string_expression3' )
参数:
'string_expression1'
待搜索的字符串表达式。string_expression1 可以是字符数据或二进制数据。
'string_expression2'
待查找的字符串表达式。string_expression2 可以是字符数据或二进制数据。
'string_expression3'
替换用的字符串表达式。string_expression3 可以是字符数据或二进制数据。
返回类型
如果 string_expression(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_expression(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。
示例:
下例用 xxx 替换 abcdefghi 中的字符串 cde。
SELECT REPLACE('abcdefghicde','cde','xxx') GO
下面是结果集:
abxxxfghixxx
(1 row(s) affected)
原来如此!看来“尽信网不如无网”啊,网上的一些文章都是你抄我我抄你的,对人的误导太大了。还是看官方的参考手册好啊。