Zusammenfassung: In diesem Tutorial erfahren Sie mehr über die Funktion PostgreSQL COALESCE, die das erste Argument ungleich null zurückgibt. Sie erfahren, wie Sie diese Funktion in der SELECT-Anweisung anwenden, um Nullwerte effektiv zu behandeln.
PostgreSQL COALESCE function syntax
Die Syntax der Funktion COALESCE
lautet wie folgt:
Code language: SQL (Structured Query Language) (sql)
Die Funktion COALESCE
akzeptiert eine unbegrenzte Anzahl von Argumenten. Es gibt das erste Argument zurück, das nicht null ist., Wenn alle Argumente null sind, gibt die Funktion COALESCE
null zurück.
Die COALESCE
-Funktion wertet Argumente von links nach rechts aus, bis sie das erste Nicht-Null-Argument findet. Alle verbleibenden Argumente aus dem ersten Argument ungleich null werden nicht ausgewertet.
Die Funktion COALESCE
bietet die gleiche Funktionalität wie die Funktion NVL
oder IFNULL
, die von SQL-standard bereitgestellt wird. MySQL hat IFNULL Funktion, während Oracle NVL
Funktion.,
Siehe folgende Beispiele:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Wir verwenden häufig die Funktion COLAESCE
, um bei der Abfrage der Daten einen Standardwert für Nullwerte zu ersetzen. Zum Beispiel möchten wir den Auszug aus einem Blog-Beitrag anzuzeigen, wenn der Auszug nicht zur Verfügung gestellt wird, können wir die ersten 150 Zeichen des Inhalts des Beitrags verwenden., Um dies zu erreichen, können wir die Funktion COALESCE
wie folgt verwenden:
Code language: SQL (Structured Query Language) (sql)
PostgreSQL COALESCE example
Schauen wir uns ein Beispiel für die Verwendung der Funktion COALESCE
an. Zuerst erstellen wir eine Tabelle mit dem Namen items mit CREATE TABLE Anweisung wie folgt:
Code language: SQL (Structured Query Language) (sql)
Es gibt vier Felder in der items
Tabelle:
- id: der Primärschlüssel, der das Element in der items Tabelle identifiziert.
- Produkt: der Produktname.
- Preis: der Preis des Produkts.,
- Rabatt: der Rabatt des Produkts.
Zweitens fügen wir einige Datensätze mit der INSERT-Anweisung wie folgt in die items-Tabelle ein:
Drittens fragen wir die Nettopreise der Produkte nach der folgenden Formel ab:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Wenn Sie sich die vierte Zeile ansehen, werden Sie feststellen, dass der Nettopreis des Produkts D
null ist, was nicht korrekt zu sein scheint., Das Problem ist der Rabatt des Produkts D
ist null, daher gibt PostgreSQL null zurück, wenn wir den Nullwert zur Berechnung des Nettopreises verwenden.
Die erhalten die richtige preis, wir müssen davon ausgehen, dass, wenn der rabatt ist null, es ist null., Dann können wir die Funktion COALESCE
wie folgt verwenden:
Code language: SQL (Structured Query Language) (sql)
Jetzt ist der Nettopreis des Produkts D
500
weil wir bei der Berechnung des Nettopreises Null anstelle des Nullwerts verwenden.
Neben der Verwendung der Funktion COALESCE
können Sie in diesem Fall den CASE-Ausdruck verwenden, um die Nullwerte zu behandeln. Siehe die folgende Abfrage, die den Ausdruck CASE
verwendet, um das gleiche Ergebnis wie oben zu erzielen.,
Code language: SQL (Structured Query Language) (sql)
In der obigen Abfrage sagen wir, wenn der Rabatt null ist, dann verwenden Sie Null (0) andernfalls verwenden Sie den Rabattwert in dem Ausdruck, der den Nettopreis berechnet.
In Bezug auf die Leistung sindCOALESCE
Funktion und CASE Ausdruck gleich. Wir bevorzugen die Funktion COALESCE
als den Ausdruck CASE
, da die Funktion COALESCE
die Abfrage kürzer und lesbarer macht.
In diesem Tutorial haben Sie gelernt, wie Sie die Funktion COALESCE
verwenden, um Nullwerte in der Abfrage zu ersetzen.,
- War dieses tutorial hilfreich ?
- YesNo
Leave a Reply