我在这个问题中发现 - Oracle Differences between NVL and Coalesce - NVL总是评估这两个论点。
NVL( string1, relace_with)
如果第一个参数不为空,那么评估两者的重点是什么?
在这种情况下,我们总是返回第一个参数?
谢谢!
答案 0 :(得分:1)
关键可能是可能存在副作用,因此不仅两个参数的返回值都很重要,而且还有副作用。 NVL不会错过这些副作用,而COALESCE在某些情况下会错过第二个参数的副作用(由于短路行为)。因此NVL在这些情况下非常有用(当你不想错过任何副作用时)。