准备数据

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='李明';  --执行结果:唐明
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐