oracle的if语句采用decode函数。
东光网站建设公司创新互联,东光网站设计制作,有大型网站制作公司丰富经验。已为东光成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的东光做网站的公司定做!
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value
等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else
示例:
比如,有个if语句如下
if(a==1){//如果a等于1,返回2,否则返回3
return 2;
}else{
return 3;
}
翻译成DECODE如下
DECODE(a,1,2,3)
在oracle中,我们可以用case when 代替if
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
具体的要根据实际需求酌情修改
下边是我自己写的,但是执行起来报错,请前辈们解答,感谢~
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
);
你这个应该把count(A)赋给一个变量 count(B)也同样,然后比较两个变量
比如:select count(A) into 变量1 ,count(B) into 变量2 from aaaa;
if 变量1变量2 then
选择变量1对应的行
else
选择变量2对应的行
endif
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
以上希望对你有所帮助