it-swarm.com.de

SQL Server IIF vs CASE

Ich habe kürzlich erfahren, dass die Funktion IIF in SQL Server 2012 verfügbar ist. In meinen Abfragen verwende ich immer geschachtelte CASE. Ich möchte den genauen Zweck der IIF -Anweisung kennen und wann sollten wir die IIF -Anweisung der CASE -Anweisung vorziehen. Ich benutze meistens geschachtelte CASE in meinen Abfragen.

Vielen Dank für alle Eingaben.

70
neophyte

IIF ist dasselbe wie CASE WHEN <Condition> THEN <true part> ELSE <false part> END. Der Abfrageplan ist derselbe. Es ist vielleicht "syntaktischer Zucker", wie ursprünglich implementiert.

CASE ist für alle SQL-Plattformen portierbar, während IIF SQL SERVER 2012+ -spezifisch ist.

121
Karl Kieninger

IIF ist eine nicht standardmäßige T-SQL-Funktion. Es wurde zu SQL Server 2012 hinzugefügt, damit Access auf SQL Server migrieren kann, ohne zuvor die IIFs auf CASE umgestalten zu müssen. Sobald die Access-Datenbank vollständig in SQL Server migriert ist, können Sie eine Umgestaltung durchführen.

15
user2505560