SELECTでcase文を使用して「特定カラムの値の判定結果」を取得するクエリにおいて、その特定カラムに不正な値が設定されている場合にエラーを発生させたい状況があった。
少し強引なやり方ではあるが、以下のようにすることで不正な場合にエラーと表示することができる。
テーブル名:test_table
| name | boolean |
|---|---|
| sato | true |
| taro | false |
| 12345 | aiueo |
select
*,
case boolean
when 'true' then 'myouji'
when 'false' then 'namae'
else convert(varchar,convert(int,'error boolean'))
END AS boo
from
test_table;
