SQL: Probleme mit CASE und NOT NULL

Wenn man CASE-Abfragen in SQL erstellen möchte, steht oft vor dem Problem, dass er ein Feld darauf überprüfen muss, ob dieses keinen Wert hat, also NULL ist.

Der erste Ansatz dazu wäre folgender:

SELECT zustand, CASE geld
WHEN NOT NULL THEN 'Geld da !'
ELSE 'Kein Geld da !'
END
'Guthaben',
FROM kasse;

Nur leider kommen wir damit zu keiner Lösung ! Warum ?

Weil NULL niemals gleich NULL oder nicht gleich NULL ist oder so ähnlich, ist halt ein bisschen kompliziert mit NULL.

Die Lösung:

 

SELECT zustand, CASE
WHEN geld IS NOT NULL THEN 'Geld da !'
ELSE 'Kein Geld da !'
END
'Guthaben',
FROM kasse;

No related posts.