【MySQL】MySQLでcase文を使う場合にちょいちょいやる凡ミス

研究
Magda Ehlers at Pexels
この記事は約2分で読めます。

ちょくちょく使うんだけど気づかずに何度となく500エラーを出してしまうシリーズ。

CASE WHEN gender=0 THEN '男性'
WHEN gender=1 THEN '女性'
ELSE 'トランスジェンダー' END

こういうやつですが

select (CASE WHEN gender=0 THEN '男性'
WHEN gender=1 THEN '女性'
ELSE 'トランスジェンダー' END) as format_gender

このように使いますね。 CodeIgniterでは

$this->db->select("(case when gender =0 then '男性' WHEN gender=1 THEN '女性' ELSE 'トランスジェンダー' end) as format_gender");

と記述するはずが

$this->db->select("(case when gender =0 then '男性' WHEN gender=1 THEN '女性' ELSE 'トランスジェンダー') as format_gender");

後ろのendを忘れて、SQL構文間違ってんぞ!喰らえ500エラーじゃ! とやられてしまうのです。

本当によく忘れるので戒めの意味を込めて。

コメント

タイトルとURLをコピーしました