SQL Server IIF与CASE

neo*_*yte 74 sql-server case iif sql-server-2012

我最近了解了SQL Server 2012中IIF功能的可用性.我总是在查询中使用嵌套的CASE.我想知道IIF语句的确切目的,我们何时应该更喜欢在查询中使用IIF而不是CASE语句.我主要在查询中使用嵌套的CASE.

感谢所有的投入.

Kar*_*ger 125

IIF是一样的CASE WHEN <Condition> THEN <true part> ELSE <false part> END.查询计划将是相同的.也许是最初实施的"语法糖".

CASE可在所有SQL平台上移植,而IIF则是SQL SERVER 2012+特定的.

  • 可能是为了让Access/VB开发人员更容易记住语法. (4认同)

小智 16

IIF是一种非标准的T-SQL功能.它被添加到SQL SERVER 2012中,因此Access可以迁移到SQL Server,而无需事先将IIF重构为CASE.Access数据库完全迁移到SQL Server后,您可以重构.

  • 我喜欢你的推理.你能引用一些文件来支持它吗? (11认同)