Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie den SQL Server COALESCE
– Ausdruck verwenden, um mit NULL in Abfragen umzugehen.
Einführung in den SQL Server COALESCE-Ausdruck
Der SQL Server – Ausdruck akzeptiert eine Reihe von Argumenten, wertet sie nacheinander aus und gibt das erste Argument ungleich Null zurück.,
Das Folgende veranschaulicht die Syntax des Ausdrucks COALESCE
:
Code language: SQL (Structured Query Language) (sql)
In dieser Syntax sind e1, e2, … en skalare Ausdrücke, die zu skalaren Werten ausgewertet werden. Der Ausdruck COALESCE
gibt den ersten Nicht-Null-Ausdruck zurück., Wenn alle Ausdrücke auf NULL ausgewertet werden, gibt der Ausdruck NULL zurück;
Da die ein Ausdruck ist, können Sie ihn in jeder Klausel verwenden, die einen Ausdruck akzeptiert, z. B. SELECT
, WHERE
, GROUP BY
, und HAVING
.,“>
weil es das erste Nicht-Null-Argument ist:
Code language: SQL (Structured Query Language) (sql)
Hier ist die Ausgabe:
B) Verwenden des SQL Server COALESCE-Ausdrucks mit den numerischen Daten Beispiel
Dieses Beispiel verwendet den Ausdruck COALESCE
, um eine Liste von Argumenten auszuwerten und die erste Zahl zurückzugeben:
Code language: SQL (Structured Query Language) (sql)
Die Ausgabe ist wie folgt:
C) Verwenden des SQL Server COALESCE-Ausdrucks, um NULL durch neue Werte zu ersetzen
Siehe die folgende sales.customers
– Tabelle aus der Beispieldatenbank.,
Die folgende Abfrage gibt Vorname, Nachname, Telefon und E-Mail aller Kunden zurück:
Hier ist die Teilausgabe:
Die Spalte phone
hat NULL
wenn der Kunde die Telefonnummer nicht in der Tabelle sales.customers
aufgezeichnet hat.,für geschäftliche Zwecke können Sie den Ausdruck verwenden, um NULL
durch die Zeichenfolge N/A
(nicht verfügbar) zu ersetzen, wie in der folgenden Abfrage gezeigt:
Das folgende Bild zeigt die Teilausgabe:
D) Verwenden Sie den SQL Server COALESCE-Ausdruck, um die verfügbaren Daten zu verwenden
Erstellen Sie zunächst eine neue Tabelle mit dem Namen salaries
, in der die Gehälter des Mitarbeiters gespeichert sind:
Jeder Mitarbeiter kann nur eine Rate haben, entweder stündlich, wöchentlich oder monatlich.,56b1ad“>
Tabelle:
Hier ist die Ausgabe:
Viertens berechnen Sie monatlich für jeden Mitarbeiter mit dem Ausdruck COALESCE
wie in der folgenden Abfrage gezeigt:
Das folgende Bild zeigt die Ausgabe:
In diesem Beispiel haben wir den Ausdruck COALESCE
verwendet, um nur einen Nicht-NULL-Wert zu verwenden, der in der hourly_rate
, weekly_rate
und monthly_rate
Spalten.,
COALESCE vs. CASE expression
DerCOALESCE
Ausdruck ist ein syntaktischer Zucker des Ausdrucks.
Die folgenden Ausdrücke geben das gleiche Ergebnis zurück:
Code language: SQL (Structured Query Language) (sql)
Beachten Sie, dass der Abfrageoptimierer den Ausdruck verwenden kann, um den Ausdruck neu zu schreiben.
In diesem Tutorial haben Sie gelernt, wie Sie den SQL Server COALESCE
Ausdruck verwenden, um Nullwerte in Abfragen zu behandeln.