ITPub博客

首页 > 数据库 > Oracle > oracle中的decode用法

oracle中的decode用法

Oracle 作者:miaowmiaowmiaow 时间:2012-03-07 15:18:47 0 删除 编辑
基本语法:decode(column, resultVal, trueVal, falseVal),语义为如果Column = resultVal则结果是trueVal否则是falseVal。简单一点,可以将decode这句话转换为如下语义:
if(column = resultVal)
then
    result = trueVal
else
    result = falseVal
end if
相似的,将这个转换运用到你的decode就是:
if(a.mmail_no= 0)
then
    result = 0
else
   result =  (a.amount + a.disc_amount) *(1 + t.vat_perc / 100)
end if
==================华丽的分割线====================================
当然了与oracle的decode最相近的语法是case when,转换如下:
select 
  case
  when column = resultVal
         then trueVal
  else
        falseVal
   end
from yourtable
同样的,decode可以这样转换:
select 
  case
  when a.mmail_no= 0
         then 0
  else
       (a.amount + a.disc_amount) *(1 + t.vat_perc / 100)
  end
from yourtable a
<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25934801/viewspace-1115318/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-06-13