Wie wird mit NULL-Werten in WHERE-Bedingungen umgegangen?

1 Antwort

Gar nicht. Wenn du etwas auf einen Wert vergleichst, dann gibt es keinen NULL Wert. Möglichkeiten sind dann ein Vergleich auf IS NULL oder je nach RDBMS sowas wie NVL oder COALESCE, wo die NULL Werte mit etwas anderen ersetzt werden.

Sprich du musst sie explizit erlauben z.B.:

SELECT * FROM TABLE
WHERE  TABLE.Column = 'TEST' OR TABLE.Column IS NULL;

oder:

SELECT * FROM TABLE
WHERE  COALESCE(TABLE.Column, 'TEST') = 'TEST';

Ansonsten fallen die Zeilen eben raus.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012