查询中的Oracle价格计算

时间:2012-03-26 20:40:55

标签: oracle plsql

我正在使用三张桌子,我试图用这个来计算折扣价。

(Price.price - ccons.discountPrice - mcons.discountPrice) "Discount Price"

但是,当其中一个值为null时,折扣价格显示“NULL”。我该如何解决?我可以声明NULL值是“0”吗?或者你对这个计算有任何想法吗?

2 个答案:

答案 0 :(得分:3)

Price.price - NVL(ccons.discountPrice, 0) - NVL(mcons.discountPrice, 0)

答案 1 :(得分:2)

最有可能的是,您只想将所有三个组件包装在NVL函数中,即

nvl(Price.price,0) - 
  nvl(ccons.discountPrice,0) - 
  nvl(mcons.discountPrice,0) "Discount Price"

如果其中一些列被声明为NOT NULLPrice.price似乎不可能合法地NULL),则您不需要NVL这些列。