NULLIF
NULLIFは、2つの式を比較します。値が同じ場合、NULLIFはNULLを戻し、異なる場合は最初の式を戻します。
SQL構文
NULLIF(Expression1, Expression2)
パラメータ
NULLIFには、次のパラメータがあります。
| パラメータ | 説明 |
|---|---|
|
|
|
|
|
|
説明
-
両方のパラメータが数値データ型の場合、Timestenは、数値の優先順位が高い方の引数を判断し、残りの引数をこのデータ型に暗黙的に変換して、このデータ型を戻します。パラメータが数値データ型ではない場合、それらのデータ型ファミリは同じである必要があります。
-
LOBデータ型は、NULLIFでサポートされません。TIMEデータ型は、両方の列がTIMEデータ型の場合のみサポートされます。 -
NULLIFファンクションは、次のCASE式と論理的に同じです。CASE WHEN Expression1 = Expression2 THEN NULL ELSE Expression1 END
ノート:
詳細は、「CASE式」を参照してください。
例
次の例では、入社時から職務が変わった従業員を選択し、job_history表のjob_idとemployees表の現在のjob_idが異なる場合は職務が変わったことがわかります。NULLIFを新旧のjob_idエントリに適用すると、エントリが同じ場合はNULLが戻され、異なる場合は職種を変更した従業員が示されます。
Command> SELECT e.last_name, NULLIF(e.job_id, j.job_id) "Old Job ID"
FROM employees e, job_history j
WHERE e.employee_id = j.employee_id
ORDER BY last_name, "Old Job ID";
< De Haan, AD_VP >
< Hartstein, MK_MAN >
< Kaufling, ST_MAN >
< Kochhar, AD_VP >
< Kochhar, AD_VP >
< Raphaely, PU_MAN >
< Taylor, SA_REP >
< Taylor, <NULL> >
< Whalen, AD_ASST >
< Whalen, <NULL> >
10 rows found.