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