在oracle中,我们可以用case when 代替if
十载的武威网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整武威建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“武威网站设计”,“武威网站推广”以来,每个客户项目都认真落实执行。
case when length(id)7 then '成功' else '失败' end name (没办法把整个语句发上来,一发就说网络异常)
如果另建新表(这张表需要确实存在),那么就create table table_name后面加上上面的语句就可以了。
如果你的name字段已经存在,也就是说你需要在那么中加上成功个失败的字样,那么就需要稍微修改一下
case when length(id)7 then '成功' else '失败' end name
改为
case when length(id)7 then name||'成功' else name||'失败' end name
具体的要根据实际需求酌情修改
oracle的if语句采用decode函数。
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value 等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。
Oracle数据库是对标准sql语言的过程化扩展,因此产生了pl/sql语言。其中的if语句大量使用使得程序模块化的功能方便实用。现在要讨论的是if语句的基本使用方法。
连接数据库
请输入用户名: scott/123456
设置环境变量
SQL set serveroutput on
定义两个字符串变量,然后赋值,接着使用if……then语句比较两个字符串变量的长度,并输出比较结果。
declare
a varchar(10);
b varchar(10);
begin
a:='beijing';
b:='guangdong';
if length(a)length(b)
then dbms_output.put_line('ab');
end if;
end;
过if……then……else语句实现只有年龄大于等于56岁,才可以申请退休,否则程序会提示不可以申请退休。
declare
a number(10);
begin
a:=x;
if a=56
then dbms_output.put_line('可以申请退休');
else dbms_output.put_line('不可以申请退休');
end if;
end;
制定一个月份数值,然后使用if……then……elsif语句判断它所属的季节,并输出季节信息。
declare
mon number(10);
begin
mon:=x;
if mon=3 or mon=4 or mon=5
then dbms_output.put_line('春节');
elsif mon=6 or mon=7 or mon=8 then dbms_output.put_line('夏季');
elsif mon=9 or mon=10 or mon=11 then dbms_output.put_line('秋季');
elsif mon=12 or mon=1 or mon=2 then dbms_output.put_line('冬季');
end if;
end;
制定一个季度数值,然后使用case语句判断它所包含的月份信息并输出。
declare
ss number(10);
begin
ss:=x;
case
when ss=1 then dbms_output.put_line('包含月份3,4,5');
when ss=2 then dbms_output.put_line('包含月份6,7,8');
when ss=3 then dbms_output.put_line('包含月份9,10,11');
when ss=4 then dbms_output.put_line('包含月份12,1,2');
end case;
end;
下边是我自己写的,但是执行起来报错,请前辈们解答,感谢~
update salary201911 set 个税 =
(
case when 计税金额 =36000 then 计税金额*3%-年度个税累计 when 36000计税金额 =144000 then 计税金额*10% - 2520 - 年度个税累计
when 144000计税金额 =300000 then 计税金额*20% - 16920 - 年度个税累计
when 300000计税金额 =420000 then 计税金额*25% - 31920 - 年度个税累计
when 420000计税金额 =660000 then 计税金额*30% - 52920 - 年度个税累计
when 660000计税金额 =960000 then 计税金额*35% - 85920 - 年度个税累计
else 计税金额*45% - 181920 - 年度个税累计
end
);
Create Or Replace View mark_v
As
Select Id,Case score When '优' Then '90' When '中' Then '75' When '差' Then '30' Else score End As score
From mark
或者还有个简单的写法:
Create Or Replace View mark_v
As
Select Id,decode(score,'优','90','中','75','差','30',score) As score
From mark
以上希望对你有所帮助
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款