SQL Server IIF против CASE
Недавно я узнал о доступности функции IIF
в SQL Server 2012. Я всегда использую вложенные CASE
в своих запросах. Я хочу знать точную цель IIF
заявления, и когда мы должны предпочесть использовать IIF
над CASE
Заявление в запросе. Я в основном использую вложенные CASE
в своих запросах.
Спасибо за все вклады.
Ответы
Ответ 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, вы можете реорганизовать.