首页 > 数据库 > Oracle > oracle中的decode用法
基本语法: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/ ,如需转载,请注明出处,否则将追究法律责任。