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

作者:mrr 时间:2024-01-16 15:46:29 

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中没有对应的字符。如果这些额外的字符出现在字符中,那么它们将从返回值中移除。

您不能使用to_string的空字符串从返回值中删除from_string中的所有字符。Oracle数据库将空字符串解释为空,如果此函数具有空参数,则返回null。

translate提供了与replace函数相关的功能。 replace让你用一个字符串替换另一个字符串,以及删除字符串。 translate允许您在一个操作中进行多个单字符,一对一的替换。

该函数不直接支持CLOB数据。但是,CLOB可以通过隐式数据转换作为参数传递。

例子:

以下语句将一句话转换为具有下划线分隔的字符串。from_string包含四个字符:井号,美元符号,空格,星号。to_string只包含一个@符号和两个下划线。 这使得from_string中的第四个字符没有相应的替换,所以星号从返回的值中删除。


SELECT TRANSLATE('itmyhome#163.com$is my* email', '#$ *', '@__') from dual
----------
itmyhome@163.com_is_my_email

replace函数

语法:

REPLACE(char, search_string,replacement_string)

用法:

将char中的字符串search_string全部转换为字符串replacement_string。

举例:


SQL> select REPLACE('fgsgswsgs', 'fk' ,'j') 返回值 from dual;
     返回值
     ---------
     fgsgswsgs
     SQL> select REPLACE('fgsgswsgs', 'sg' ,'eeerrrttt') 返回值 from dual;
     返回值
     -----------------------
     fgeeerrrtttsweeerrrttts

分析:

第一个例子中由于'fgsgswsgs'中没有与'fk'匹配的字符串,

            故返回值仍然是'fgsgswsgs';

            第二个例子中将'fgsgswsgs'中的字符串'sg'全部转换为'eeerrrttt'。

总结:综上所述,replace与translate都是替代函数,

         只不过replace针对的是字符串,而translate针对的是单个字符。

和replace函数的区别


select translate('itmyhome#163%com', '#%', '@.') from dual;
select replace('itmyhome#163%com', '#%', '@.') from dual;
---------
itmyhome@163.com
itmyhome#163%com

上面的translate函数是将#替换为@,%替换为.

而replace却没有实现此效果,是因为没有找到#%整体的组合

总结

以上所述是小编给大家介绍的Oracle中的translate函数和replace函数的用法详解网站的支持!

标签:oracle,translate,replace
0
投稿

猜你喜欢

  • SQL SERVER使用表分区优化性能

    2024-01-14 01:32:59
  • Python批量处理图片大小尺寸方法详解

    2021-12-11 23:12:07
  • Python使用OpenCV对图像进行缩放功能

    2022-05-06 03:47:51
  • Python Pandas list列表数据列拆分成多行的方法实现

    2021-04-20 18:56:01
  • Python+Turtle绘制航海王草帽路飞详解

    2023-12-31 18:08:09
  • fgetcvs在linux的问题

    2024-06-05 09:37:56
  • pytorch dataset实战案例之读取数据集的代码

    2023-10-06 23:51:01
  • python pandas dataframe 按列或者按行合并的方法

    2022-04-15 13:25:19
  • 链接与文本标签们

    2008-04-04 18:07:00
  • 简单的自定义php模板引擎

    2023-11-24 02:44:24
  • 微信小程序报错:this.setData is not a function的解决办法

    2024-04-19 09:47:17
  • Django实现auth模块下的登录注册与注销功能

    2022-03-06 17:49:15
  • Django中和时区相关的安全问题详解

    2021-02-24 11:40:44
  • 设置密码保护的SqlServer数据库备份文件与恢复文件的方法

    2011-11-03 16:55:30
  • 深入了解Hybrid App技术的相关知识

    2023-08-10 09:36:02
  • Go 自定义error错误的处理方法

    2024-02-16 09:03:45
  • Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】

    2022-08-08 01:14:46
  • 微信小程序实现经典window扫雷游戏

    2024-04-28 09:52:45
  • MySQL转义字符

    2011-06-19 16:06:04
  • python3.7.3版本和django2.2.3版本是否可以兼容

    2022-08-18 09:31:23
  • asp之家 网络编程 m.aspxhome.com