web-dev-qa-db-ja.com

SQL ServerのIsNull()関数に相当するOracleとは何ですか?

SQL Serverでは、IsNull()と入力して、フィールドがnullかどうかを判断できます。 PL/SQLに同等の関数はありますか?

101
Goran

coalesceはOracleとSQL Serverの両方でサポートされており、nvlおよびisnullと本質的に同じ機能を提供します。 (いくつかの重要な違いがあります。coalesceは任意の数の引数を取ることができ、最初の非ヌル引数を返します。isnullの戻り値の型は最初の引数の型と一致します。 coalesceの場合、少なくともSQL Serverで。)

122

ISNULL()の代わりに、NVL()を使用します。

T-SQL:

SELECT ISNULL(SomeNullableField, 'If null, this value') FROM SomeTable

PL/SQL:

SELECT NVL(SomeNullableField, 'If null, this value') FROM SomeTable
104
BoltClock

NVL2から他の値を返す場合は、以下のようにfield_to_checkを使用します。

NVL2( field_to_check, value_if_NOT_null, value_if_null )

使用法: Oracle/PLSQL:NVL2 FUNCTION

26
MinhD

条件if x is not null then...を使用できます。機能ではありません。 NVL()関数もあります。ここでの使用の良い例です。 NVL function ref