最近IIF
、SQL Server2012での関数の可用性について知りましたCASE
。クエリでは常にネストを使用しています。IIF
ステートメントの正確な目的と、クエリでステートメントよりも使用IIF
する方がよい場合を知りたいのですがCASE
。私は主CASE
にクエリでネストを使用します。
すべての入力に感謝します。
最近IIF
、SQL Server2012での関数の可用性について知りましたCASE
。クエリでは常にネストを使用しています。IIF
ステートメントの正確な目的と、クエリでステートメントよりも使用IIF
する方がよい場合を知りたいのですがCASE
。私は主CASE
にクエリでネストを使用します。
すべての入力に感謝します。
回答:
IIF
と同じCASE WHEN <Condition> THEN <true part> ELSE <false part> END
です。クエリプランは同じになります。おそらく、最初に実装された「シンタックスシュガー」です。
CASEはすべてのSQLプラットフォーム間で移植可能ですが、IIFはSQL SERVER2012 +固有です。
IIFは非標準のT-SQL関数です。これはSQLSERVER 2012に追加されたため、事前にIIFをCASEにリファクタリングすることなくAccessをSQLServerに移行できました。AccessデータベースがSQLServerに完全に移行されたら、リファクタリングできます。