MySQLでIFを使いたい時はCASE構文を使う

2016/12/16 (2018/02/09更新) カテゴリー:エンジニアコラム,開発奮闘記 タグ:
SPONSOR
  • このエントリーをはてなブックマークに追加

フィールドに入っている値で判別していろいろやりたいときにはCASEを使うと便利でした。例えば、値によってORDER BYで並び替えをしたい場合など。

SPONSOR

例えばフィールドkanaに入っている値が””,NULL,ア,イだったとします。50音昇順に並び替えたい場合、ORDER BY kanaとすると、””(空),NULL,ア,イと並びます。ア,イを先にだしたいのにも関わらず!

そこで、CASE構文を使って””とNULLのときには擬似的に別の値を入れて順番を操作してみます。

select * 
case 
when furigana='' then 'ン' 
when furigana is NULL then 'ン' 
else furigana 
end as furigana2 
from master 
order by furigana2

caseで条件を入れて、furigana2に値を代入して、並び替えに使っています。furiganaが空かNULLの時には「ン」と入れて最後尾にまわすようにしています。こうすると、順番を操作できます。

参考)MySQL 5.6 リファレンスマニュアル

  • このエントリーをはてなブックマークに追加

おすすめの記事

SPONSOR
IRITECはITエンジニアが「コンテンツで集客・広告収入を得る」「お客様の話をきいて価値を提案できる」 「自分で考えたアプリで収益を上げる」など、エンジニアが生き残っていくための情報をお届けしているビジネスハックメディアです。

COMMENT

コメントをどうぞ

RELATION

関連する記事

SPONSOR

RECOMMEND

おすすめの記事

SPONSOR

TAG

タグから記事をさがす

PROFILE

イリテクのプロフィール

イリテクはWEBシステム・スマホアプリ開発を得意とする制作会社です!
入江 慎吾/イリテク株式会社 代表取締役
1982年生まれ。長崎県 五島列島出身。福岡のWeb制作会社で10年間、ディレクション、Webデザイン、システム開発に従事。 その後、趣味で始めたiPhoneアプリ開発をきっかけにフリーランスとして独立後、2014年にイリテク株式会社として法人化。(もっと詳しいプロフィール)
SPONSOR

PRODUCT

イリテクで開発したプロダクト