SQL Server IIF -Funktion

SQL Server IIF -Funktion

Bedingte Aussagen sind ein signifikanter Baustein bei der Programmierung. In diesem Beitrag lernen wir, wie Sie die IIF () -Funktion in SQL Server verwenden, um SQL-Abfragen IF-ELSE-Funktionen hinzuzufügen.

SQL Server IIF () -Funktion

Der folgende Code -Snippet zeigt die Funktionssyntax:

IIF (boolean_expression, true_value, false_value)

Die Funktion akzeptiert drei Hauptargumente:

  1. Boolescher Ausdruck - definiert einen gültigen booleschen Ausdruck, der bewertet wird. Wenn nicht ein gültiger boolescher Ausdruck, gibt die Funktion einen Fehler zurück.
  2. wahrer Wert - Legt den zu zurückgegebenen Wert fest, wenn der Ausdruck true bewertet wird.
  3. false_values - Bezieht sich auf den zurückgegebenen Wert, wenn der boolesche Ausdruck auf False bewertet wird.

Beispiel 1

Das Folgende zeigt eine einfache Verwendung der IIF () -Funktion.

deklarieren @var int = 100, @var_2 int = 10;
Wählen Sie [größte] = iif (@var> @var_2, @var, @var_2);

Die obige Abfrage vergleicht die beiden Werte und gibt den maximalen Wert zurück. Ein Beispielausgang ist wie gezeigt:

größte |
-------+
100 |

Beispiel 2 - Verwenden Sie IIF () -Funktion mit nicht -booler Wert

Das folgende Beispiel verwendet die IIF () -Funktion mit einem nicht-boolen Ausdruck. Dies zwingt die Funktion, einen Fehler zurückzugeben, wie unten dargestellt:

deklarieren @var int = 100, @var_2 int = 10;
Wählen Sie [größte] = iif (null, @var, @var_2);

Ausgang:

SQL-Fehler [4145] [S0001]: Ein Ausdruck des in einem Kontext angegebenen Nicht-Boolen-Typs, in dem eine Bedingung in der Nähe erwartet wird ('('.

Beispiel 3 - Verwenden Sie IIF () -Funktion mit Nullwerten

Das folgende Beispiel verwendet die IIF () -Funktionen mit Nullwerten.

deklarieren @var int = null, @var_2 int = null;
Wählen Sie [größte] = iif (@var> @var_2, @var, @var_2);

Dies sollte null als:

größte |
-------+
|

Abschluss

Dieses kurze Tutorial deckt die IIF () -Funktion in SQL Server ab. Diese Funktion liefert eine Kurzsyntax für die Fallfunktion.