COALESCE
COALESCE 関数は、NULL でない最初の式の値を戻します。
各引数には、互換性がなければなりません。文字ストリングの引数は、日付/時刻の値と互換性があります。 データ・タイプの互換性についての詳細は、割り当ておよび比較を参照してください。
引数は、指定されている順序にしたがって評価され、NULL でない最初の引数がこの関数の結果となります。 結果が NULL になる可能性があるのは、指定した引数がどれも NULL になる可能性がある場合だけです。また、結果が実際に NULL になるのは、すべての引数が NULL だった場合だけです。
選択された引数は、必要があれば、結果の属性に変換されます。 結果の属性は、結果のデータ・タイプに関する規則で説明しているすべてのオペラン ドを基にして決められます。
例
- DEPARTMENT 表のすべての行のすべての値を選択する場合に、
部門の管理者 (MGRNO) が欠落しているときには (つまり NULL 値なら)、
'ABSENT' という値を戻すようにします。
SELECT DEPTNO, DEPTNAME, COALESCE(MGRNO, 'ABSENT'), ADMRDEPT FROM DEPARTMENT
- 表 EMPLOYEE のすべての行から、従業員番号 (EMPNO) および給与 (SALARY) を選択するときに、給与が欠落しているもの (つまり、NULL のもの) については、値としてゼロを戻します。
SELECT EMPNO, COALESCE(SALARY,0) FROM EMPLOYEE
1 この関数は、ユーザー定義の関数を作成するときに、ソース関数として使用することはできません。これは、引数としてどのような互換データ・タイプでも受け入れるので、特殊タイプ
をサポートするための追加のシグニチャーを作成する必要はありません。