SQL Server IIF vs CASE

Ostatnio dowiedziałem się o dostępności funkcji IIF w SQL Server 2012. Zawsze używam zagnieżdżonego CASE w moich zapytaniach. Chcę znać dokładny cel instrukcji IIF i kiedy powinniśmy preferować użycie IIF zamiast CASE W zapytaniu. Najczęściej używam zagnieżdżonego CASE w moich zapytaniach.

Dzięki za wszystkie wejścia.

Author: Vadim Ovchinnikov, 2014-04-03

2 answers

IIF jest tym samym co CASE WHEN <Condition> THEN <true part> ELSE <false part> END. Plan zapytań będzie taki sam. Jest to, być może, "cukier składniowy", jak początkowo wdrożone.

CASE jest przenośny na wszystkich platformach SQL, podczas gdy IIF jest specyficzny dla SQL SERVER 2012+.

 144
Author: Karl Kieninger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-21 04:54:13

IIF jest niestandardową funkcją T-SQL. Został dodany do SQL SERVER 2012, dzięki czemu Access mógł migrować do SQL Server bez refaktoryzacji IIF do sprawy przed ręką. Po pełnej migracji bazy danych Access do SQL Server można dokonać refaktoryzacji.

 20
Author: user2505560,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-17 22:53:02