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