codeigniter で case 文

codeigniter + postgresql での話。

$this->db->select(“CASE a WHEN 0 THEN ‘zero’ ELSE ‘other’ END”);

てな感じで、CASE句を入れて実行したらエラーに。

なんで?とエラーのSQLを見てみると、

“CASE” a WHEN 0 THEN ‘zero’ ELSE…

と、CASE が ” で囲まれカラム扱いされてる・・・。

$this->db->select(“(CASE a WHEN 0 THEN ‘zero’ ELSE ‘other’ END)”);

と、CASE句を括弧で囲むと無事実行された。

これ、バグじゃないの?

codeigniter で case 文” への1件のフィードバック

  1. $this->db->order_by()の中でCASEが使えないと思ったら、そういうことだったんですね…参考になりました、ありがとうございます!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です