COALESCE関数
PostgreSQL 8.0.0 文書 > 9.13.2. COALESCE
COALESCE(value [, ...])
COALESCE関数は、NULLでない自身の最初の引数を返します。全ての引数がNULLの場合にのみNULLが返されます。データを表示の目的で取り出す際、NULL値の代わりにデフォルト値を使う場合、時として便利なことがあります。以下に例を示します。SELECT COALESCE(description, short_description, '(none)') ...
CASE式同様、COALESCEは結果を決定するために必要でない引数を評価しません。つまり、非NULL引数が見つかれば、その右側にある引数は評価されません。
SQL への準拠 > サポートされている機能 に「COALESCE」が含まれているので,標準SQL準拠ということですな。
Microsoft SQL Server 2000 > SDKドキュメント > Transact-SQLリファレンス > COALESCE
COALESCE
引数の中から、最初の NULL でない式を返します。構文
COALESCE ( expression [ ,...n ] )
DB2.jp > SQL 解説書 > COALESCE
COALESCE は、その値がヌル値以外の最初の引き数を戻します。
OTN > Oracle Database SQL リファレンス 10g リリース1(10.1)
COALESCE は、式のリストの最初のNULL でないexpr を戻します。1 つ以上のexpr が、リテラルNULL 以外である必要があります。すべてのexpr がNULL と評価された場合、このファンクションはNULL を戻します。
すべてのexpr が数値データ型、または暗黙的に数値データ型に変換可能な数値以外のデータ型である場合、Oracle データベースは、数値の優先順位が最も高い引数を判断し、残りの引数をそのデータ型に暗黙的に変換して、そのデータ型を戻します。
H17本試験で初見の関数。。。いやぁ。。ビビりましたw
JIS(JIS検索)のPDFには載っていませんでした。
ANSI/ISO9075-2には載っていましたが。。。
H17午後I 問3
設問1(1):LEFT JOIN
SELECT 会員種別名, 会員種別 LEFT OUTER JOIN
( SELECT 会員区分, 利用区分, COUNT( * ) AS 会員数 FROM 会員
WHERE ( 退会年月日 IS NULL OR 退会年月日 < '2005-03-31' )
AND 入会年月日 >= '2005-03-31'
GROUP BY 会員区分, 利用区分 ) AS 現会員 ON ( 会員種別.会員区分 = 現会員.会員区分 AND 利用区分.利用区分 = 現会員.利用区分 )
LEFT OUTER JOIN
( SELECT 会員区分, 利用区分, COUNT( * ) AS 利用回数
FROM 利用履歴, 会員
WHERE 会員.会員番号 = 利用履歴.会員番号
AND 利用年月日 BETWEEN '2005-03-01' AND '2005-03-31'
GROUP BY 会員区分, 利用区分 ) AS 利用 (一部省略)
LEFT OUTER JOIN
( SELECT 会員区分, 利用区分, COUNT( * ) AS 入会者数 FROM 会員
WHERE 入会年月日 BETWEEN '2005-03-01' AND '2005-03-31'
GROUP BY 会員区分, 利用区分 ) AS 入会 (一部省略)
LEFT OUTER JOIN
( SELECT 会員区分, 利用区分, COUNT( * ) AS 退会者数 FROM 会員
WHERE 退会年月日 BETWEEN '2005-03-01' AND '2005-03-31'
GROUP BY 会員区分, 利用区分 ) AS 退会 (一部省略)
WHERE 会員種別.利用区分 = 利用区分.利用区分
ORDER BY 会員種別名