その他
    ホーム 技術発信 DoRuby SQL関数coalesceの使い方と読み方

    SQL関数coalesceの使い方と読み方

    この記事はアピリッツの技術ブログ「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の読み方はカタカナで書くと「コウアレス」に近いようです。

    ではまた。

    おすすめ記事

    MySQL : PostgreSQL コマンド対応

    MySQLの出力結果をファイルに出力

    PostgreSQLでクロス集計

    【ご案内】各種イベントはこちら

    アピリッツでは、定期的に勉強会やセミナー等、各種イベントを企画・運営しています。各イベントの詳細と参加申し込みは以下リンクからご確認ください。皆様にお会いできることを楽しみにしております。

    各種イベントのお申込みはこちら

    過去のイベントの様子はこちら

    アピリッツについて