Im letzten Teil der Serie möchte ich die neuen Logikfunktionen CHOOSE und IIF vorstellen. Diese wurden hauptsächlich für eine einfachere Portierung von Abfragen aus Access eingeführt und bieten keine grundsätzlich neue Funktionalität.
CHOOSE
Die CHOOSE Funktion entspricht weitestgehend der CASE Funktion und besteht aus zwei Teilen. Der Erste Teil ist ein Integer- oder Floatwert und definiert die Position des Ausgabewertes innerhalb der nachfolgenden Werte. Der zweite Teil definiert eine Liste aus möglichen Ausgabewerten. Floatwerte im ersten Parameter werden in Integerwerte umgewandelt.
Ist der übergebene Index größer als die Anzahl der möglichen Ausgabewerte wird NULL zurückgegeben.
Hier ein kleines Beispiel:
SELECT
CHOOSE(1, 'A', 'B', 'C') AS Erster,
CHOOSE(2, 'A', 'B', 'C') AS Zweiter,
CHOOSE(3.9, 'A', 'B', 'C') AS FloatWert,
CHOOSE(4, 'A', 'B', 'C') AS Ausserhalb;
Erster Zweiter FloatWert Ausserhalb
------ ------ ------ ------
A B C NULL
IIF
Die IIF Funktion erwartet drei Parameter. Ist der erste Parameter Wahr, wird der zweite Parameter als Ergebnis zurückgegeben. Andernfalls ist der dritte Parameter das Ergebnis.
SELECT IIF ( 1 < 2, 'WAHR', 'FALSCH' ) AS Ergebnis;
Genau wie die CHOOSE Funktion kann diese Abfrage auch mit CASE erstellt werden. Sinn und zweck ist schlicht eine einfache Portierung von Access auf SQL Server.
Sie sehen gerade einen Platzhalterinhalt von Facebook. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von Instagram. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen