Translate返回expr,其中from_string中所有出现的每个字符都被to_string中的相应字符替换,replace函数将char中的所有字符串search_string转换为字符串replacement_string。下面分享一下Oracle中翻译功能和替换功能的使用。让我们看一看。
translate函数语法:
translate(expr,from_strimg,to_string)
简介:
Translate返回expr,其中from_string中出现的每个字符都被to_string中的相应字符替换。expr中不在from_string中的字符不会被替换。如果expr是一个字符串,那么你必须把它放在单引号中。from_string的参数可以包含比to_string更多的字符。在这种情况下,from_string末尾的冗余字符在to_string中没有对应的字符。如果这些额外的字符出现在characters中,那么它们将从返回值中删除。
不能使用to_string的空字符串从返回值中删除from_string中的所有字符。Oracle数据库将空字符串解释为空,如果此函数有空参数,它将返回null。
Translate提供了与replace功能相关的功能。Replace允许您用一个字符串替换另一个字符串并删除该字符串。Translate允许您在一次操作中执行多个单个字符的一对一替换。
该函数不直接支持CLOB数据。但是,CLOB可以通过隐式数据转换作为参数传递。
例子:
下面的语句将句子转换成下划线分隔的字符串。from_string包含四个字符:英镑符号、美元符号、空格和星号。To_string只包含一个@符号和两个下划线。这使得from_string中的第四个字符没有相应的替换,因此星号从返回值中删除。
从dual中选择TRANSLATE(' itmyhome # 163 . com $ is my * email ',' #$ * ',@__ ')
-
itmyhome@163.com_is_my_email
replace函数
语法:
REPLACE(字符、搜索字符串、替换字符串)
用法:
将char中的所有字符串search_string转换为string replacement_string。
举例:
Select replace ('fgsgswsgs ',' fk ',' j ')从dual返回值;
返回值
-
fgsgswsgs
Select replace ('fgsgswsgs ',' SG ',' eeerrrttt ')从dual返回值;
返回值
-
fgeeerrrtttsweeerrrttts
分析:
在第一个示例中,因为“fgsgswsgs”中没有与“fk”匹配的字符串,
所以返回值还是‘FGSGSWSGS’;
在第二个示例中,“fgsgswsgs”中的所有字符串“sg”都被转换为“eeerrrttt”。
总结:综上所述,替换和翻译都是替代功能。
只是replace是针对字符串的,而translate是针对单个字符的。
和replace函数的区别
选择翻译(' itmyhome#163%com ',' #% ',' @ . ')来自dual
选择替换(' itmyhome#163%com ',' #% ',' @ . ')来自dual
-
itmyhome@163.com
itmyhome#163%com
上面的翻译函数是用@替换#并用。
但是replace没有达到这个效果,因为没有找到#%的组合。
总结
以上是边肖介绍的Oracle中使用翻译函数和替换函数的详细说明。希望对你有帮助。如果您有任何问题,请给我留言,边肖将及时回复您。非常感谢您对我们网站的支持!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。