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;