Access での CASE文 SQL

LONERさん
LONERさん

Accessでは CASE が使えません!CASE って世界標準じゃないの? と思ったりもしますが、Access は違うようです。Access の場合は、 Switch を使います。<つかいかた>CASE xWHEN a THEN pWHEN b THEN qWHEN c THEN rELSE 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 が返る。
LONERさんのブログ一覧