Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfragen und Datenänderung » Abfragen » Die WHERE-Klausel: Zeilen angeben

 

So vergleichen Sie Spaltenwerte mit NULL

Sie können die IS NULL-Suchbedingungen verwenden, um Spaltenwerte mit NULL zu vergleichen, und um sie auszuwählen bzw. eine bestimmte Aktion je nach Ergebnis des Vergleichs auszuführen. Nur Spalten, die den Wert TRUE zurückgeben, werden ausgewählt oder bewirken die beabsichtigte Aktion, diejenigen mit FALSE oder UNKNOWN nicht.

Im nachfolgenden Beispiel werden nur die Zeilen ausgewählt, für die "UnitPrice" geringer als 15 Dollar oder NULL ist:

SELECT Quantity, UnitPrice
   FROM Products
   WHERE UnitPrice < 15
   OR UnitPrice IS NULL;

Das Ergebnis des Vergleichs eines Wertes mit NULL ist UNKNOWN, da nicht zu ermitteln ist, ob NULL gleich (oder ungleich) einem gegebenen Wert oder einem anderen NULL-Wert ist.

Es gibt Umstände, die niemals TRUE zurückgeben, sodass Abfragen, die diese Bedingungen verwenden, keine Ergebnismengen zurückgeben. Der folgende Vergleich kann beispielsweise nie als TRUE ermittelt werden, da NULL bedeutet, dass ein unbekannter Wert vorliegt.

WHERE column1 > NULL

Diese Logik gilt auch, wenn Sie zwei Spaltennamen in einer WHERE-Klausel verwenden, d.h. wenn Sie zwei Tabellen mit einem Join verbinden. Eine Klausel, die die Bedingung WHERE column1 = column2 enthält, gibt keine Zeilen zurück, bei denen die Spalten NULL enthalten.

Sie können NULL oder Nicht-NULL auch mit diesen Mustern finden:

WHERE column_name IS NULL
WHERE column_name IS NOT NULL

Zum Beispiel:

WHERE advance < $5000
OR advance IS NULL
 Siehe auch