COALESCE

COALESCE 関数は、NULL でない最初の式の値を戻します。

構文図を読む構文図をスキップする
                              .-----------------.      
                              V                 |      
>>-COALESCE--(--expression-1----,--expression-2-+--)-----------><

各引数には、互換性がなければなりません。文字ストリングの引数は、日付/時刻の値と互換性があります。 データ・タイプの互換性についての詳細は、割り当ておよび比較を参照してください。

expression-1
任意の組み込みデータ・タイプまたはユーザー定義データ・タイプの値を戻す式。1
expression-2
任意の組み込みデータ・タイプまたはユーザー定義データ・タイプの値を戻す式。1

引数は、指定されている順序にしたがって評価され、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 この関数は、ユーザー定義の関数を作成するときに、ソース関数として使用することはできません。これは、引数としてどのような互換データ・タイプでも受け入れるので、特殊タイプ をサポートするための追加のシグニチャーを作成する必要はありません。