Accessでは CASE が使えません!
CASE って世界標準じゃないの? と思ったりもしますが、Access は違うようです。
Access の場合は、 Switch を使います。
<つかいかた>
CASE x
WHEN a THEN p
WHEN b THEN q
WHEN c THEN r
ELSE y END
というのを Switch で書くとしたら、
Switch(x=a, p, x=b, q, x=c, r, True, y)
となります。
VBAとの互換性のために Switch をつかうのでは? という説もあります。本当のところは知りません。
iif を使うこともできて、
iif(x=a, p, (iif(x=b, q, iif(x=c, r, y))))
とすると、上と同じ結果が返ります。
ヘルプを見ると、参考のところに、Choose という関数が書いてありました。
Choose(index, a, b, c, ...)
index に整数を入れると、index = 1 なら a が、index = 2 なら b が返るそうです。
整数でない場合は、一番近い整数に丸められる。1未満の整数の場合は Null が返る。
2010年05月14日
Access での CASE文 SQL
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/149827063
※ブログオーナーが承認したトラックバックのみ表示されます。
スパム対策のため、承認制にしました。ご了承ください。
※半角英数字のみのトラックバックは受信されません。
この記事へのトラックバック
http://blog.seesaa.jp/tb/149827063
※ブログオーナーが承認したトラックバックのみ表示されます。
スパム対策のため、承認制にしました。ご了承ください。
※半角英数字のみのトラックバックは受信されません。
この記事へのトラックバック