2005年05月02日

[ テクニカルエンジニア(データベース)/H17受験記 ]

SQL: COALESCE関数

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には載っていましたが。。。

Posted by g@kko at 2005/05/02 22:34 | 個別記事表示 | コメントを見る (4) |
この記事をLicWikiに埋め込む:
コメント
2 :9:05/05/02 22:43:59 [RES]

> H17本試験で初見の関数。。。いやぁ。。ビビりましたw
じゃなくて、ガッコはここどう答えたの(´・ω・)?
なんかもうみんなが各社解答例見て知ってるような客観事実を書くのではなく、ガッコの解答とか知りたいんだけどな
他と同じこと書いててもしょうがないじゃん(´・ω・)


3 :9:05/05/02 23:08:42 [RES]

なんかチャチャばかりでスマソ…_| ̄|〇
最初のH17午後1問3の記事とかでガッコの所感とか書いてあればよかったんだが、一切書いてないのにいきなり先生が指導するような解説が来たから、あれ?じゃあガッコ自身はどうなったの(´・ω・)? となってしまったわけだ
こういう正しい客観的解説記事が悪いといってるわけじゃないのだ


4 :前スレ973:05/05/03 09:09:12 [RES]

>JIS(JIS検索)のPDFには載っていませんでした。
>ANSI/ISO9075-2には載っていましたが。。。

出題範囲からすれば、当然 JIS X 3005 に載ってるはず・・ですよね?


5 :g@kko:05/05/03 15:09:33 [RES]

>>2-3
 とりあえず,この記事は「COALESCE」について調べたメモみたいなモノなんで。。。

>>4
>当然 JIS X 3005 に載ってるはず
JIS検索 には追補版しかなく,本体がないので詳細不明です。

ANSI/ISO9075-2でも

2) COALESCE (V1, V2) is equivalent to the following <case specification>:
CASE WHEN V1 IS NOT NULL THEN V1 ELSE V2 END

としか書いてないので,あまり期待できませんが。。。