Die SQL IIF-Funktion ist die neue integrierte logische Funktion, die in SQL Server 2012 eingeführt wurde. Wir können den SQL Server IIF als Kurzform des Schreibens IF Else und CASE-Anweisungen betrachten.

Die SQL Server IIF-Funktion akzeptiert drei Argumente. Das erste argument ist der Boolesche Ausdruck, der true oder false zurückgibt. Wenn der IIF-Ausdruck TRUE ergibt, wird das zweite Argument als Ergebnis zurückgegeben. Andernfalls wird das dritte Argument als Ausgabe zurückgegeben., Lassen Sie uns die Syntax der SQL Server IIF-Funktion sehen:

SQL IIF Logische Funktionssyntax:

Die Syntax des IIF in SQL Server lautet wie folgt:

IIF (Boolean_Expression, True_Value, Flase_Value)

Wenn der angegebene Boolesche Ausdruck (oder die Testbedingung) wahr ist, wird True_Value zurückgegeben. Und wenn es falsch ist, wird False_Value zurückgegeben.

SQL IIF Vergleicht zwei ganze Zahlen

Dieses Beispiel zeigt Ihnen die Funktionsfähigkeit der IIF-Funktion in SQL Server

SELECT IIF(10 > 5, 'TRUE', 'FALSE') AS Result;

Im folgenden Screenshot können Sie diese Bedingung innerhalb der IIF-Funktion beobachten (dh,, 10 > 5) WAHR ist. Die erste Anweisung (oder das zweite Argument), die als Ausgabe zurückgegeben wird, ist also WAHR

SQL IIF Vergleicht zwei ganzzahlige Variablen

In diesem Beispiel verwenden wir die IIF-Funktion, um festzustellen, ob die Person stimmberechtigt ist oder nicht.

Im folgenden Screenshot können Sie beobachten, dass

  • In der ersten SELECT-Anweisung die Bedingung innerhalb der IIF-Funktion (dh 12 > 18) falsch ist., Die zweite Anweisung (oder das dritte Argument), die als Ausgabe
  • Innerhalb der zweiten SELECT-Anweisung zurückgegeben wird, Bedingung innerhalb der IIF-Funktion (dh 34 > 18) ist wahr. Die erste Anweisung (oder das zweite Argument), die als Ausgabe zurückgegeben wird

SQL IIF Vergleichen Sie zwei Zeichenfolgen

In diesem Beispiel verwenden wir die SQL Server IIF-Funktion, um die Zeichenfolgendaten zu vergleichen. Hier haben wir den Platzhalter ‚%‘ in der zweiten SELECT Anweisung verwendet., Also, ich schlage vor, Sie verweisen SQL WIE Artikel in SQL Server für weitere Referenz.

SQL Nested IIF example

In diesem Beispiel verwenden wir die Sql Server Nested IIF-Funktion, um festzustellen, ob die Person arbeitsfähig ist oder nicht.

  1. Zuerst haben wir eine ganzzahlige Variable namens @age deklariert und einen Wert zugewiesen.
  2. Innerhalb der IIF () – Funktion überprüft die erste Bedingung, ob das Alter unter 18 Jahren liegt., Wenn diese Bedingung wahr ist, wird die erste Anweisung (oder das zweite Argument) nach dem Komma zurückgegeben, dh Sie sind zu jung, um zu arbeiten
  3. Wenn die erste Bedingung fehlschlägt, wird die zweite Anweisung (oder das dritte Argument) zurückgegeben. Durch die Verwendung von SQL Server Nested IIF überprüfen wir hier eine weitere Bedingung (@age >= 18 UND @age <= 60)., Wenn diese Bedingung wahr ist, dann gibt es ersten Wert nach dem Komma, die Sie berechtigt sind, zu arbeiten
  4. Wenn die verschachtelte Bedingung fehlschlägt, wird es den Wert am dritten Argument ausführen, die Sie sind zu alt, um zu arbeiten.,

AUSGABE 1: Alter = 12

Alter = 32

Age = 65

SQL IIF Arbeiten mit Nullwerten

Am besten wäre es, wenn Sie vorsichtig wären, während Sie mit Nullwerten innerhalb der IIF-Funktion arbeiten. Folgende Reihe von Beispielen wird Ihnen helfen, die Folgen zu verstehen.,

SELECT IIF(10 > 5, NULL, NULL) AS Result;

Aus dem obigen screenshot können Sie beobachten, dass es wirft einen Fehler. Angenommen, mindestens einer der Ergebnisausdrücke (dh das zweite oder dritte Argument nach dem Boolean_Expression) muss ein anderer Ausdruck als die Nullkonstante sein., Lassen Sie uns sie entsprechend ändern und sehen

SELECT IIF(10 > 5, 'TRUE', NULL) AS Result1;SELECT IIF(10 > 5, NULL, 'FALSE') AS Result2;

SQL IIF NULL values Option 2

Wir können die Fehler überwinden, die durch die Nullkonstanten in der IIF-Funktion mit den Parametern aufgetreten sind.

DECLARE @a INT = NULL, @b INT = NULL SELECT IIF ( 10 > 5, @a, @b ) AS Result1;

IIF-Datentyp mit der höchsten Priorität

Die IIF-Funktion gibt den Datentyp mit der höchsten Priorität zurück., Aus dem folgenden Beispiel ist das Ergebnis das dritte Argument (dh 100) vom Typ integer, aber das Ergebnis zeigt 100.00 an. Weil die IIF-Funktion den Datentyp mit der höchsten Priorität zurückgibt.

SELECT IIF ( 15 > 50, 12.45, 100 ) AS Result;

Bitte beziehen Sie IF -, Else-und CASE-Anweisung Artikel.

Articles

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.