Zu wissen, wann die SQL COALESCE-Funktion verwendet werden soll, ist ein Lebensretter, wenn Sie mit NULL zu tun haben.
Wie Sie wissen, ist NULL ein kniffliges Konzept, und es scheint, was immer NULL in einem Ausdruck „berührt“, es macht das Ergebnis NULL. Also, wenn Sie mit NULL zu tun haben, wie können Sie aus dem Zyklus ausbrechen? Das heißt, wie können Sie stattdessen einen anderen Wert anzeigen?
Hier kommt SQL COALESCE ins Spiel. Mit dieser Funktion können Sie auf NULL testen und, wenn vorhanden, NULL für einen anderen Wert ersetzen.
Was ist FÜGEN?,
COALESCE ist eine integrierte SQLServer-Funktion. Verwenden Sie COALESCE, wenn Sie eine NULL durch einen anderen Wert ersetzen müssen. Es hat die Form:
COALESCE(value1, value2, ..., valuen)
Es gibt die erste Nicht NULL aus der Werteliste zurück.
Betrachten Sie die Baseball-Parks von Lahmans Baseball-Datenbank., Wenn wir das Parkname anstelle der Parkalias anzeigen möchten, die null sein können, funktioniert COALESCE hier gut:
-- AnswerSELECT COALESCE(parkalias, parkname) as ParkAlias, city, stateFROM Parks
In diesem Beispiel gibt COALESCE(parkalias, parkname) den in parkalias gefundenen Wert zurück, wenn der Wert nicht NULL ist; wenn es jedoch NULL ist, wird parkname zurückgegeben.
Welche SQL würden Sie schreiben, wenn Sie ‚Unbekannt‘ anzeigen möchten, wenn die Parkalias NULL ist?, Warum nicht versuchen, die Abfrage zu schreiben… hier ist ein Anfang…
Vergleichen von SQL COALESCE mit CASE
Wussten Sie, dass SQL COALESCE eine Abkürzung für die CASE-Anweisung ist?
Betrachten Sie die Tabellenumfrage mit den Spalten answerID, option1, option2, option3.
Wir möchten die Option answerID und first non NULL auflisten.
Aus dem, was wir gelernt haben, können wir COALESCE verwenden als:
SELECT answerID,
COALESCE(option1, option2, option3, 'No Option Selected')
FROM survey
Dies ist eine Abkürzung für diese CASE-Anweisung:
SELECT answerID,
CASE
WHEN option1 is not NULL then option1
WHEN option2 is not NULL then option2
WHEN option3 is not NULL then option3
ELSE 'No Option Selected'
END
FROM survey
CASE wird unter Umständen verwendet, aber wenn NULL ersetzt wird, ist COALESCE eine praktische Verknüpfung!,
Für den Datensatz hat SQL Server viele weitere interessante Funktionen zu lernen und zu erkunden. Wenn Sie dies noch nicht getan haben, überprüfen Sie diese Zeichenfolgenfunktionen, um Textdaten zu bearbeiten!