SQL入門チュートリアルマニュ...ログイン
SQL入門チュートリアルマニュアル
著者:php.cn  更新時間:2022-04-12 14:15:40

SQL NULL 関数



SQL ISNULL()、NVL()、IFNULL() および COALESCE() 関数

以下の「製品」表を参照してください:

P_IdProductNameUnitPriceUnitsInStock ユニットオンオーダー
1ヤールスバーグ10.451615
2マスカルポーネ32.5623
3ゴルゴンゾーラ15.679 20

「UnitsOnOrder」の場合はオプションであり、NULL 値を含めることができます。

次の SELECT ステートメントを使用します:

SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)
FROM Products

上記の例では、「UnitsOnOrder」値が NULL の場合、結果は NULL になります。

Microsoft の ISNULL() 関数は、NULL 値の処理方法を指定するために使用されます。

NVL()、IFNULL()、および COALESCE() 関数も同じ結果を達成できます。

ここでは、NULL 値を 0 にします。

以下では、「UnitsOnOrder」が NULL の場合、値が NULL の場合、ISNULL() は 0 を返すため、計算には影響しません:

SQL Server / MS Access

SELECT ProductName,UnitPrice*(UnitsInStock) +ISNULL (UnitsOnOrder,0))
FROM Products

Oracle

Oracle には ISNULL() 関数がありません。ただし、NVL() 関数を使用しても同じ結果を得ることができます:

SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
FROM Products

MySQL

MySQL には ISNULL のようなものもあります() 関数。ただし、Microsoft の ISNULL() 関数とは動作が少し異なります。

MySQL では、次のように IFNULL() 関数を使用できます:

SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products

または COALESCE() 関数を使用することもできます。以下に示すように:

SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products

PHP中国語ウェブサイト