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