mssql sqlserver translate关键字同replace关键字的区别


摘要:
下文将通过举例的方式讲解 mssql中 “translate”同”replace”关键字的用法区别



用法说明

translate 用法:
语法:TRANSLATE(input, from, to)

功能:将input中出现from中的每个字符都采用to中的对应字符替换掉
当from 中的字符比to长时,from中无法找到对应的字符将被剔除掉

translate中任何一个参数为NULL时,则返回NULL

例:
select translate(‘maomao365′,’mao365′,’sql’)
—-输出——–
sqlsql
——–根据以上的字符匹配规则,可以得出
m —->s (替换为s)
a —->q (替换为q)
o —->l (替换为l)
3 —-> (无匹配项,将被删除掉)
6 —-> (无匹配项,将被删除掉)
5 —-> (无匹配项,将被删除掉)


replace 用法:
语法:REPLACE(input, from, to)
功能:将input中的字符串from替换为字符串to
select replace(‘maomao365′,’mao365′,’sql’)
——输出——
maosql
—-replace是整体替换
将字符串中”mao365″替换为sql


区别说明:
从以上的例子中,可以看出replace关键字和translate关键的功能不同:
1. translatr依次替换单个字符,replace字符串整体替换的方式
2. translate只能在sqlserver 2017及以上版本中应用,replace在sqlserver 2000中就存在此函数