oracle根据不同条件修改同一字段的值

您所在的位置:网站首页 oracle修改字段的值 oracle根据不同条件修改同一字段的值

oracle根据不同条件修改同一字段的值

2023-12-04 19:22| 来源: 网络整理| 查看: 265

一、问题说明:

现在从my_resource表中查询出如下结果

select vc_name from my_resource;

需要将查询结果列中的“打款”换成“立项”,“交割”换成“交付”,“结束”换成“退出”,使用update语句实现

二、问题解决:

1.先考虑如何写查询语句,暂时不做update操作;只考虑其中一个条件,如:“打款”换成“立项”

select vc_name, replace(vc_name, '打款', '立项') as newName from my_resource;

2.接下来把多个条件考虑进来,编写查询语句

select vc_name, case when instr(vc_name, '打款') > 0 then replace(vc_name, '打款', '立项') when instr(vc_name, '交割') > 0 then replace(vc_name, '交割', '交付') when instr(vc_name, '结束') > 0 then replace(vc_name, '结束', '退出') end as newName from my_resource;

3.最后将查询语句修改成update语句

update my_resource set vc_name = case when instr(vc_name, '打款') > 0 then replace(vc_name, '打款', '立项') when instr(vc_name, '交割') > 0 then replace(vc_name, '交割', '交付') when instr(vc_name, '结束') > 0 then replace(vc_name, '结束', '退出') end;

附注:

A.建表语句

create table MY_RESOURCE ( vc_name VARCHAR2(300) ); comment on column MY_RESOURCE.vc_name is '资源名称';

B.表数据

insert into my_resource (VC_NAME) values ('项目打款_新增'); insert into my_resource (VC_NAME) values ('项目打款_修改'); insert into my_resource (VC_NAME) values ('项目打款_删除'); insert into my_resource (VC_NAME) values ('项目交割_新增'); insert into my_resource (VC_NAME) values ('项目交割_修改'); insert into my_resource (VC_NAME) values ('项目交割_删除'); insert into my_resource (VC_NAME) values ('项目结束_新增'); insert into my_resource (VC_NAME) values ('项目结束_修改'); insert into my_resource (VC_NAME) values ('项目结束_删除');

参考链接:

https://www.jb51.net/article/53229.htm

https://www.linuxidc.com/Linux/2014-01/95372.htm



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3