この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
こんにちは。KBMJの佐藤です。
今回はSQLのcoalesceという関数の使い方と読み方について解説します。
coalesceとは何か?
coalesce は、与えられた引数のうち、NULLでない最初の引数を返してくれます。データを表示する目的で取り出すシチュエーションなどで、NULL値の代わりにデフォルト値を使っている場合に便利です。CASE や NULLIF などを用いても同様の効果が得られますが、coalesce() を使えば、より完結に記述することができます。といっても実際に使ってみないとイメージがわかないと思いますので、以下、実験してみます。
coalesce実験用テーブル・レコード
以下のようなテーブル・レコードを用意しました。
SELECT c1, c2, c3 FROM test1s;
c1 | c2 | c3
-----+--------+--------
AAA | BBB | CCC
DDD | (null) | FFF
GGG | HHH | (null)
(3 rows)
coalesceを使ってみる
では先ほど用意したテーブルに対して、coalesceを使ったSELECT文を発行してみましょう。
SELECT c1, COALESCE(c2, 'QQQ') AS c2, COALESCE(c3, 'QQQ') AS c3 FROM test1s;
c1 | c2 | c3
-----+-----+-----
AAA | BBB | CCC
DDD | QQQ | FFF
GGG | HHH | QQQ
(3 rows)
NULL だった場所が QQQ に置き換えられていますね。
coalesceの読み方
coalesceの読み方はカタカナで書くと「コウアレス」に近いようです。
ではまた。