Oracle函数4—字符替换(replce、regexp_replace、translate)

准备数据

CREATE TABLE GradesTable (Name VARCHAR2(6), Languages VARCHAR2(6),Mathematics VARCHAR2(6), English VARCHAR2(6) );
insert into GradesTable (Name,Languages,Mathematics,English) values('李明','88','67','98');
insert into GradesTable (Name,Languages,Mathematics,English) values('阿珂','88','67','98');
insert into GradesTable (Name,Languages,Mathematics,English) values('唐三','88','67','98');

1、replace

(1)语法

  • REPLACE(char, search_string,replacement_string)

(2)用法:

  • 将char中的字符串search_string全部转换为字符串replacement_string;
  • 当replacement_string为null时,相当于剔除search_string中的search_string字段。

(3)举例

--将name字段中name为李明的数据中的‘李’替换为‘唐’
select replace(name,'李','唐')  from GradesTable where name='李明'; --执行结果:唐明
--将name字段中name为李明的数据中的‘李’剔除
select replace(name,'李')  from GradesTable where name='李明';--执行结果:明

2、regexp_replace

(1)语法

把 str_source 中的 pattern_str 字符串剔除

regexp_replace(str_source,pattern_str)   

同replace

 regexp_replace(str_source,pattern_str,str)   

(2)举例

--将name字段中name为李明的数据中的‘李’替换为‘唐’
select regexp_replace(name,'李','唐')  from GradesTable where name='李明';  --执行结果:唐明
--将name字段中name为李明的数据中的‘李’剔除
select regexp_replace(name,'李')  from GradesTable where name='李明';  --执行结果:明

3、translate

(1)语法:translate(char, from, to)

(2)用法:

  • 返回将出现在from中的每个字符替换为to中的相应字符以后的字符串;
  • 若from比to字符串长,那么在from中比to中多出的字符将会被删除;
  • 三个参数中有一个是空,返回值也将是空值。

(3)举例

--将name字段中name为李明的数据中的‘李’替换为‘唐’
select translate(name,'李','唐')  from GradesTable where name='李明';  --执行结果:唐明
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:重点日志中报错信息为:'str' object has no attribute 'decode'。引用\[2\]:使用match方法时报错信息为:'NoneType' object has no attribute 'span'。引用\[3\]:Django runserver时报错信息为:'str' object has no attribute 'decode'。根据这些报错信息,可以得出结论是在字符串对象上调用了不存在的方法'replace'。 问题:'str' object has no attribute 'replce' 回答: 报错信息中显示'str' object has no attribute 'decode',而不是'replace'。这意味着在字符串对象上调用了不存在的方法'decode'。可能的原因是在Python 3中,字符串对象已经没有decode方法了。decode方法是在Python 2中用于将字节串解码为Unicode字符串的方法。在Python 3中,字符串对象已经是Unicode字符串,不需要再进行解码操作。因此,需要检查代码中是否有对字符串对象调用decode方法的地方,并将其修改为适用于Python 3的方式。 #### 引用[.reference_title] - *1* *3* [[Django] query = query.decode(errors=‘replace‘) AttributeError: ‘str‘ object has no attribute ...](https://blog.csdn.net/qq_41604569/article/details/125031443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python中字符串与正则表达式的25个常用操作](https://blog.csdn.net/qq_37555071/article/details/107715857)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值