【 Oracle数据库之 translate 函数用法 】

TRANSLATE()函数在SQL中用于字符串替换,根据指定的匹配字符和替换字符进行逐个替换。即使匹配字符和替换字符数量不同,也会按单个字符进行替换。例如,123456123882替换12为AB,将所有1和2分别替换为A和B;而12345688812345688替换888为A,则每个8都会被替换为A,并非整个888被替换为一个A。
摘要由CSDN通过智能技术生成

TRANSLATE()函数

语法:TRANSLATE(表达式1,表达式2,表达式3)

  • 表达式1:数据库字段值,或者字符串
  • 表达式2:匹配的字符;
  • 表达式3:替换输出的字符;

案例1: 表达式2和3字符数相同

select translate('123456123882','12','AB') 测试 from dual;

输出结果:
在这里插入图片描述

可以理解为把’1’替换为’A’,把 ‘2’ 替换为 ‘B’。哪怕是单独的’1’ 或者 ‘2’ 也会进行单个替换.

案例2:表达式2和3字符数不同

select translate('12345688812345688','888','A') 测试 from dual;

输出结果:
在这里插入图片描述

不少小白可能理解错误为把 ’888‘ 这一组 替换为 ‘A’ 。其实不是这样理解的。
正确理解是把‘888’拆分为每一个单独的‘8‘,都被替换为‘A’ , 进行输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值