SQL Server ISNull -Funktion

SQL Server ISNull -Funktion

Ein Nullwert in SQL Server bezieht sich auf eine Spalte, deren Wert fehlt oder unbekannt ist. Wenn Sie mit Datenbanken arbeiten. Sie können dies beheben, indem Sie die Nullwerte entfernen oder sie durch einen bestimmten Wert ersetzen.

In diesem Artikel wird eine integrierte Funktion in SQL Server abdeckt, mit der Sie Nullwerte durch einen festgelegten Wert ersetzen können.

Grundnutzung

Die SQL Server ISNull -Funktion gibt einen angegebenen Wert zurück, wenn ein Ausdruck ein Nullwert ist oder den Ausdruck ansonsten zurückgibt.

Das folgende Ausschnitt zeigt die Syntax für die ISNull -Funktion.

isnull (Ausdruck, Ersatz_Value);

Die Funktion nimmt zwei Argumente an:

  1. Ausdruck - Dies gibt den Ausdruck an, der für einen Nullwert bewertet wird.
  2. Ersetzen Sie_Value - Dies gibt den zu zurückgegebenen Wert an, wenn der Ausdruck im ersten Argument als Null bewertet wird.

Die Funktion wandelt den Datentyp des Ersatzs_Value in den Datentyp des Ausdrucks um, wenn sie unterschiedliche Typen haben. Stellen Sie daher sicher.

SQL Server isnull () Beispiele

Lassen Sie uns einige Beispiele für die Verwendung der ISNull -Funktion ansehen.

Beispiel 1:

Das folgende Beispiel verwendet die Funktion isnull (), um ein Argument zurückzugeben, wenn der angegebene Ausdruck null ist.

Wählen Sie ISNULL (NULL, 'NICHT NULL');

Die obige Abfrage sollte die Zeichenfolge 'nicht null' zurückgeben, da das erste Argument ein Nullwert ist.

Beispiel 2:

Wie bereits erwähnt, gibt die ISNull -Funktion den Ersatzwert zurück, wenn der Ausdruck null ist. Wenn nicht null, gibt die Funktion den Wert des Ausdrucks zurück.

Betrachten Sie das unten gezeigte Beispiel:

Wählen Sie ISNull (100, 200);

Die Abfrage sollte den Wert des Ausdrucks in diesem Fall 100 zurückgeben, da sie nicht auf einen Nullwert bewertet wird.

Beispiel 3:

Sie können auch die ISNull -Funktion mit Variablen verwenden. Betrachten Sie die nachstehend angezeigte Beispiel -SQL -Anweisung:

Declare @Expression varchar (50);
Declare @Replacement varchar (25);
Set @Expression = null;
Set @replacement = 'String';
Wählen Sie IsNull (@Expression, @replacement);

In diesem Beispiel sollte der obige Code den von der @Replacement Variable gespeicherten Wert zurückgeben.

Beispiel 4:

Wir können auch die ISNull -Funktion verwenden, um Nullwerte in einer Tabelle zu ersetzen. Dies kann nützlich sein, wenn Sie Aktualisierungen an einer Tabelle durchführen müssen, ohne die Änderungen in der Datenbank dauerhaft vorzunehmen.

Betrachten Sie beispielsweise die Kundentabelle von Sample SalesDB aus. Es enthält Nullwerte in der MiddleInitial -Spalte.

Wählen Sie Top 10 * von Kunden aus;

Wir können die Nullwerte durch N/A unter Verwendung der ISNull -Funktion ersetzen, wie im folgenden Beispielcode gezeigt:

Wählen Sie Top 10 FirstName, ISNull (MiddleInitial, 'n/a') als initiale, Lastname von Kunden;

Die Abfrage sollte die Datensätze zurückgeben, bei denen der Wert der MiddleInitial -Spalte durch die Zeichenfolge „N \ A“ ersetzt wird.

Ein Beispielausgang ist wie gezeigt:

Beispiel 5:

Die Isnull -Funktion ist zur Verfügung, wenn Sie Vorgänge wie einen Durchschnitt für eine Reihe von Werten ausführen müssen.

Zum Beispiel können wir die ISNull -Funktion verwenden, um Nullwerte durch 0 zu ersetzen und einen Durchschnitt auszuführen.

Betrachten Sie das folgende Beispiel:

Wählen Sie AVG (ISNull (Preis, 0)) als durchschnittlich_price aus Produkten;

Das obige Beispiel sollte den Durchschnitt aller Werte in der Preisspalte der Datenbank zurückgeben. Die Funktion sollte alle Nullwerte in der Spalte durch eine 0 ersetzen, sodass Sie nahezu genaue Berechnungen durchführen können.

Durchschnittspreis
---------------------
548.3333

Isnull vs. IST NULL

In SQL Server gibt es eine Funktion namens null. Im Gegensatz zur Funktion isnull () bestimmt es, ob ein Ausdruck null ist. Dies bedeutet, dass es einen booleschen Wert anstelle eines Ausdrucks zurückgibt.

Das folgende Beispiel zeigt die Verwendung der NULL -Anweisung in SQL Server.

Wählen Sie Top 10 * von Kunden, bei denen MiddleInitial NULL ist

Da die IS -NULL -Anweisung einen booleschen Wert zurückgibt, verwendet der SQL -Server sie, um alle Zeilen abzurufen, in denen die Bedingung wahr ist.

Ein Beispielergebnis ist wie:

Abschluss

In dieser Anleitung haben Sie verstanden.