最近、SQL Server 2012のIIF
関数の可用性について知るようになりました。クエリでは常にネストされたCASE
を使用しています。 IIF
ステートメントの正確な目的と、クエリでIIF
ステートメントよりもCASE
ステートメントの使用を好む場合を知りたい。ほとんどの場合、クエリではネストされたCASE
を使用します。
すべての入力をありがとう。
IIF
はCASE WHEN <Condition> THEN <true part> ELSE <false part> END
と同じです。クエリプランは同じになります。おそらく、最初に実装された「構文糖」です。
CASEはすべてのSQLプラットフォーム間で移植可能ですが、IIFはSQL SERVER 2012+固有です。
IIFは、非標準のT-SQL関数です。 SQL Server 2012に追加されたため、Accessは事前にIIFをCASEにリファクタリングすることなくSQL Serverに移行できました。 Access dbがSQL Serverに完全に移行されたら、リファクタリングできます。