COALESCE スカラー関数

COALESCE 関数は、式のリストでヌル値ではない最初の式を返します。

構文図を読む構文図をスキップするCOALESCE(expression1 ,expression2 )

スキーマは SYSIBM です。

expression1
組み込みデータ・タイプまたはユーザー定義データ・タイプの値を返す式。
expression2
expression1 のデータ・タイプと互換性のある組み込みデータ・タイプまたはユーザー定義データ・タイプの値を返す式。データ・タイプ間の互換性については、結果データ・タイプの規則で説明しています。

引数は指定された順序で評価され、 関数の結果は NULL 値以外の最初の引数になります。 すべての引数がヌルである場合、結果はヌルです。

  • COALESCE 関数は、ユーザー定義関数の作成時にソース関数として使用することはできません。この関数は、 すべての互換データ・タイプを引数として受け入れるので、ユーザー定義データ・タイプをサポートするための追加のシグニチャーを作成する必要はありません。

  • 例 1: DEPARTMENT 表のすべての行のすべての値を選択する場合に、 部門の管理者 (MGRNO) が欠落しているときには (つまり NULL 値なら)、 'ABSENT' という値を戻すようにします。
       SELECT DEPTNO, DEPTNAME, COALESCE(MGRNO, 'ABSENT'), ADMRDEPT
         FROM DEPARTMENT
  • 例 2: EMPLOYEE 表のすべての行から従業員番号 (EMPNO) と給与 (SALARY) を選択する場合に、 給与が欠落していれば (つまり NULL 値なら)、値としてゼロを戻すようにします。
       SELECT EMPNO, COALESCE(SALARY, 0)
         FROM EMPLOYEE
  • 例 3: 以下の COALESCE ステートメントでは、c1 の値に応じて次のようになります。
    • 5 の場合、ステートメントは値 5 を戻します。
    • NULL の場合、ステートメントは値 10 を戻します。
    • 'AB' の場合、ステートメントはエラーを戻します。2 つの式のデータ・タイプに互換性がないからです。
    COALESCE(c1,10)