我有一些oracle sql代码,我正在尝试在产品数量大于20时应用50%的折扣,但我正在努力采取什么方法,我还有一个检查以确保否则总成本等于产品数量*单位成本。你会建议什么方法?
SQL 中没有 "if" 语句,但有case
表达式。像这样:
select .....,
quantity * unit_cost * case when quantity > 50 then 0.8 else 1 end as total_cost
from .....
where ..... (etc.)
当数量大于 50 时,case
表达式(从单词 case
到单词 end
(含(的计算结果为 0.8(这与应用 20% 的折扣相同:客户只需支付他们本来支付的费用的 80%(。如果数量小于或等于 50,则将数量乘以单位成本(乘以 1,这与忽略最后一个乘法相同(。