COALESCE式を使用すると、ユーザー指定でのNULLの取扱いができるようになります。これは、ダーティ・データの欠落値を埋めるのによく使用されます。
関数に似た構文を持ちますが、引数の数は無制限にできます。たとえば、次のとおりです。
COALESCE(a, b, c, x, y, z)
COALESCE式を使用すると、レコードを(指定された順に)複数の値と比較して評価し、最初に見つかったNULL以外の値を返すことができます。次の要件が適用されます。
- COALESCEには、2つ以上の引数を指定できます。
- COALESCEに対して指定する引数は、すべて同じ型である必要がありますが、次の例外があります。
- 整数とdouble(結果はdoubleになります)
- 文字列と管理対象属性(結果は管理対象属性になります)
- COALESCEは、複数割当て属性をサポートしていません。
次に示す例では、指定された価格を持たないレコードはすべて、計算時に0として扱われます。
AVG(COALESCE(Price, 0))
次の例のように、
COALESCEには、集計以外の用途もあります。
SELECT COALESCE(Price, 0) AS price_or_zero WHERE ...