Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
71
Help us understand the problem. What is going on with this article?
@mikakane

MYSQLの関数 COALESCE

More than 5 years have passed since last update.

 リストの最初の非NULL値を返すとかいうやつ。ぱっとしないけど使い方しだいでは化ける。

構文

COALESCE(value,...)

COALESCE関数は任意の個数の引数を取り,引数の最初の非NULL値を返します。非NULL値が存在しない場合のみNULLを返します。

使い道

 うまく使うことで条件分岐の制御構造として利用可能。

SELECT
    shop.name,
    COALESCE(
        shop.building_name,
        shop.area_name,
        "地域情報なし"
    ) as spot
FROM
    shop
  ....

複数カラムの内容を段階的に突っ込んでいく、みたいなことが可能。
上の例だとspot列として店舗のビル名を、ビル名がnullの場合エリア名を、エリア名がnullの場合"地域情報なし"の文字列を入れる、って感じになる。

英語的に

 読み方は「コーアレス」。後アクセント。ラテン語由来でスペルと音を紐付けるのが厳しい。 意味は「合体」。まぁそんなとこか。

71
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
mikakane
PHPerです。がんばります。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
71
Help us understand the problem. What is going on with this article?