ログログ

雑学プログラマが学んだことの記録

MySQL

MySQLのCASE文でORが正しく評価されない場合

投稿日:2018年12月18日 更新日:

CASEでORが正しく評価されない場合、記述の仕方が誤っている可能性があります。

以下のようなデータがあるとします。
flgは3種類あり、0と1⇒A、2⇒Bとして出力するとします。

idflg
11
21
30
42
以下のように、ORのあとに値をすぐに書いてしまう記述(0 or 1)では正しく評価されません。
実行結果を見ると、すべてAになってしまっています。



正しくは以下のように、ORの後にも「flg = 1」とカラム名も記述します。
そうすると以下のように、正しく評価されます。

-MySQL
-,

執筆者:


comment

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

CAPTCHA


関連記事

no image

【MySQL】DATETIMEをVIEWでDATEにする方法

DATETIME型をDATE_FORMAT関数で、YYYY-MM-DD形式に変換するとVIEWでDATEではなく、VARCHAE(10)になってしまう問題の解消方法。 方法としては、DATE型でキャス …

no image

【MySQL】先頭の0を削除して出力(ゼロサプレス)する方法

コード値等で、”001″となっている値を、”1″として出力するには、CAST関数でSIGNED/UNSIGNEDを指定して数値型にする方法があります。 …

no image

【MySQL】DATETIME型をYYYY-MM-DDの条件でSELECTした結果

以下のようなデータ(2018-12-28 YYYY-MM-DD)を、「2018‐12‐28」を条件に検索した場合、どのような結果になるかちょっと気になったので確認してみた。 [crayon-5dc9c …

no image

【MySQL】自テーブルのカラムの値を0埋めで更新する方法

構文

記載例

  UPDATE前後の値を比較 UPDATE …

MySQL-タイムゾーン設定すると起動しなくなる原因と対処方法

MySQLのタイムゾーン設定をすると、XAMPPでMySQLが起動できなる原因と対処法です。   目次 原因XAMPP起動時に表示されるエラーメッセージ対処方法timezonesをダウンロー …