,,Oracle中的translate函数和replace函数的用法详解

,,Oracle中的translate函数和replace函数的用法详解

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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: