2013年9月29日日曜日

COALESCE関数について

オラクルを勉強していると、COALESCE関数というものが出てくる。
この関数はMySQLにも使えるようで、サーバーサイドのエンジニアにはおなじみなのだろうが、そうでないプログラマにとっては、この名前と使い道に、ちょっと戸惑う。

SQL関数coalesceの使い方と読み方
http://doruby.kbmj.com/akio0911_on_rails/20091019/SQL_coalesce_

coalesce関数とは、頭の引数から見ていき、1つ目の引数がNULLだった場合は2つ目の引数を、2つ目の引数がNULLだった場合は3つ目の引数を・・・と繰り返し、NULLでない引数を返す、という関数だ。

初見では、使い道がすぐには思いつかなかった。NVLやNVL2で十分だと思うが・・・と思ってもういっちょ調べてみた。

MYSQLの関数 COALESCE - Qiita [キータ]
http://qiita.com/mikakane/items/1e45c2a798d0c7edffda

このサイトによると、DBに複数の住所を記載したカラムがあった場合、これを使って順に参照をしていき、何もなかった場合は最後の引数にテキストを載せる、という使い方をしていた。ううーん、なるほど。

0 件のコメント:

コメントを投稿