Подтвердить что ты не робот

SQL Server IIF против CASE

Недавно я узнал о доступности функции IIF в SQL Server 2012. Я всегда использую вложенные CASE в своих запросах. Я хочу знать точную цель IIF заявления, и когда мы должны предпочесть использовать IIF над CASE Заявление в запросе. Я в основном использую вложенные CASE в своих запросах.

Спасибо за все вклады.

4b9b3361

Ответ 1

IIF совпадает с CASE WHEN <Condition> THEN <true part> ELSE <false part> END. План запроса будет таким же. Это, пожалуй, "синтаксический сахар", как первоначально было реализовано.

CASE переносима на всех платформах SQL, тогда как IIF имеет специфику SQL SERVER 2012+.

Ответ 2

IIF - это нестандартная функция T-SQL. Он был добавлен в SQL SERVER 2012, так что Access мог перейти на SQL Server без рефакторинга IIF в CASE перед началом работы. После того, как база данных Access полностью перенесена в SQL Server, вы можете реорганизовать.