NULL でない最初の式の値を返す汎用 SQL 関数です。
Synopsis
COALESCE(expression,expression)
引数
expression 評価される式。複数の式はコンマで区別されたリストで指定。式リストの制限は 140。すべての式が同じタイプである必要があります。
概要
COALESCE 関数は、式リストを左から右に検索し、NULL 値ではない式が初めて見つかると、その値を返します。すべての式が NULL と評価されると、NULL が返されます。
その関数に対して返された値のタイプは、式のタイプと同じになります。現在、Caché は常に %String/VARCHAR タイプを返します。
文字列は、先頭と末尾の空白が維持され、そのまま返されます。数値は、先頭と末尾のゼロが削除され、キャノニック形式で返されます。
NULL の扱いの詳細は、"SQL の概念" のページで "NULL" を参照してください。
以下の埋め込み SQL の例は、一連のホスト変数値を取得し、NULL 以外の値を持つ最初の値 (d) を返します。Caché ObjectScript の空文字列 ("") が、Caché SQL では NULL として扱われる点に注意してください。
  SET (a,b,c,e)=""
  SET d="firstdata"
  SET f="nextdata"
  &sql(SELECT COALESCE(:a,:b,:c,:d,:e,:f)
    INTO :x
   FROM Sample.Person)
   WRITE !,"The first non-null value is: ",x
以下の例では、COALESCE を使用して、FavoriteColors フィールドに NULL 値を持つレコードを特定します。その結果、列を 1 つ返します。FavoriteColors が NULL でない場合は、その好みの色を返します。FavoriteColors が NULL の場合は、好みの色を持たない人の名前を返します。
SELECT COALESCE(FavoriteColors,Name) AS WhoNullColors 
FROM Sample.Person
関連項目
IFNULL ISNULL