我最近了解到SQL Server 2012中有 IIF
函数。我通常在查询中使用嵌套的 CASE
。我想知道 IIF
语句的确切目的,以及何时应该优先使用 IIF
而不是 CASE
语句。
感谢所有输入。
我最近了解到SQL Server 2012中有 IIF
函数。我通常在查询中使用嵌套的 CASE
。我想知道 IIF
语句的确切目的,以及何时应该优先使用 IIF
而不是 CASE
语句。
感谢所有输入。
IIF
与CASE WHEN <条件> THEN <真值部分> ELSE <假值部分> END
相同。查询计划也相同。它可能是最初实现时的“语法糖”。
CASE
在所有SQL平台上都可移植,而IIF
仅适用于SQL SERVER 2012+。
IIF 是一个非标准的 T-SQL 函数。它在 SQL SERVER 2012 中被添加,以便 Access 能够迁移到 SQL Server 而无需先对 IIF 进行重构为 CASE。一旦 Access 数据库完全迁移到 SQL Server,您可以重构代码。