SQL Server IIF 与 CASE

2022-01-03 00:00:00 sql-server case sql-server-2012 iif

我最近了解到 SQL Server 2012 中 IIF 函数的可用性.我总是在查询中使用嵌套的 CASE.我想知道 IIF 语句的确切用途,以及我们何时应该在查询中使用 IIF 而不是 CASE 语句.我主要在查询中使用嵌套的 CASE.

I recently came to know about the availability of IIF function in SQL Server 2012. I always use nested CASE in my queries. I want to know the exact purpose of the IIF statement and when should we prefer using IIF over CASE Statement in the query. I mostly use nested CASE in my queries.

感谢所有的投入.

推荐答案

IIFCASE WHEN 相同THEN <真实部分>ELSE <假部分>结束.查询计划将是相同的.它可能是最初实现的语法糖".

IIF is the same as CASE WHEN <Condition> THEN <true part> ELSE <false part> END. The query plan will be the same. It is, perhaps, "syntactical sugar" as initially implemented.

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

CASE is portable across all SQL platforms whereas IIF is SQL SERVER 2012+ specific.

相关文章