HOME > 開発メモ > MySQLでIFを使いたい時はCASE構文を使う
2016/12/16 タグ:

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

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

フィールドに入っている値で判別していろいろやりたいときには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 リファレンスマニュアル

お役にたちましたら、メール購読もどうぞ!

 

タグ:
この記事をシェアする
  • このエントリーをはてなブックマークに追加

イリテクの最新記事をお届けします

イリテクの最新情報をチェック!
  • follow us in feedly
    RSSで最新記事を読む

イリテクで開発したサービス

こちらの記事もおすすめです

SPONSER

イリテクのプロフィール
入江 慎吾
デザインエンジニア。イリテク株式会社 代表取締役。Webシステム開発、Webサイト制作、スマートフォンアプリ開発を受託で行うほか、自社企画でクラウド見積請求書作成サービス「CLOUD PAPER」を開発・運営。仕様を決めずに少ない予算でも開発をスタートできる「月額固定のシステム開発」を実施中。(もっと詳しく
開発したWebサービス
開発したアプリ
新着記事
カテゴリ/タグ