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


示例二:

下例是用''替换表t_actually_weather表中字段max_temperature、min_temperature中的温度符号'℃'的

select top 5 min_temperature,max_temperature,
cast(replace(max_temperature,'℃','') as DECIMAL(20,1)) as max_temperature,
cast(replace(min_temperature,'℃','') as DECIMAL(20,1)) as min_temperature
from t_actually_weather


执行结果如下:

6.0℃    9.0℃    9.0    6.0
5.3℃ 10.7℃ 10.7 5.3
5.5℃ 12.1℃ 12.1 5.5
4.4℃ 9.5℃ 9.5 4.4
4.1℃ 10.3℃ 10.3 4.1