0

この質問 - Oracle Differences between NVL and Coalesce - で、NVL は常に両方の引数を評価することがわかりました。

NVL( string1, relace_with)

最初の引数が null でない場合、両方を評価するポイントは何ですか?

このような場合、常に第 1 引数を返しませんか?

ありがとう!

4

1 に答える 1

1

ポイントはおそらく、両方の引数の戻り値だけでなく、それらの副作用も重要になるような副作用がある可能性があるということです。NVL はこれらの副作用を見逃すことはありませんが、COALESCE は場合によっては 2 番目の引数の副作用を見逃すことがあります (短絡動作のため)。そのため、NVL はそのような場合 (副作用を見逃したくない場合) に非常に役立ちます。

于 2014-08-21T21:38:08.103 に答える