Недавно я узнал о доступности IIF
функции в SQL Server 2012. Я всегда использую вложенные CASE
в свои запросы. Я хочу знать точную цель IIF
заявления и когда мы должны предпочитают использовать IIF
более CASE
заявление в запросе. Я в основном использую вложенные CASE
запросы.
Спасибо за вклад.
sql-server
sql-server-2012
case
iif
неофит
источник
источник
Ответы:
IIF
такое же, какCASE WHEN <Condition> THEN <true part> ELSE <false part> END
. План запроса будет таким же. Это, пожалуй, «синтаксический сахар» в первоначальном виде.CASE переносится на все платформы SQL, тогда как IIF специфичен для SQL SERVER 2012+.
источник
IIF - это нестандартная функция T-SQL. Он был добавлен в SQL SERVER 2012, чтобы Access мог перейти на SQL Server без предварительного рефакторинга IIF в CASE. После полной миграции базы данных Access в SQL Server можно выполнить рефакторинг.
источник