|
 |
|
|
複数のNULL条件を簡潔に記述する(COALESCE) |
|
スポンサード リンク
複数のNULL条件を簡潔に記述するには COALESCE関数を使用します
COALESCE( 式1 ,
式2 ,
式3 ,
:
: ) |
COALESCEは、式1がNULL以外の値を戻せば終了しますが、式1がNULLを返した場合は、式2を実行します。
式2がNULLを返せば、次の式3を実行し、引数で指定された式がNULL以外の値を返すまで続きます。
引数で指定された全ての式がNULLを返した場合、NULLをCOALESCEの結果として返します。 |
例1) COALESCEを使用して、以下の条件で処理結果を返します。
price1がNULL以外の場合、price*0.5の結果を返す。
price1がNULL、かつ、price2がNULL以外の場合、price2を返す。
price1がNULL、かつ、price2がNULLの場合、500を返す。
|
SQL> select
2 product_id, coalesce( price1 * 0.5, price2, 500 )
3 from sales;
PRO COALESCE(PRICE1*0.5, PRICE2, 500)
--- -------------------------------
P01 50
P02 300
P03 500 |
1レコード目は、price1が100なので、100*0.5の結果を返しています。
2レコード目は、price1がNULLで、price2が300なので、300を返しています。
3レコード目は、price1、price2ともにNULLなので、500を返しています。
表「sales」のレコード
|
SQL> select * from sales;
PRO PRICE1 PRICE2
--- ---------- ----------
P01 100 200
P02 300
P03 |
スポンサード リンク
|
|
|
|
|
|
|