Probleme mit einer SQL-Sicht

12/12/2008 - 11:50 von info | Report spam
Hallo,

ich habe Probleme eine Case Abfrage richtig zu definieren :
Bisher habe ich folgende Bedingung:

...

CASE WHEN (Datum1<> NULL) AND
(Datum1<= Datum2) THEN 'ja' ELSE 'nein' END AS
status
...

Die Bedingung soll prüfen, ob im Feld Datum1 ein Wert steht und wenn
ja ob er kleiner ist als das Datum2 dann soll "ja" ausgegeben werden
ansonsten "nein".
Bei oben aufgeführten Code wird aber auch wenn Datum 1 Leer ist nein
geschrieben.

warum?


vielen Dank für die Hilfe

Axel
 

Lesen sie die antworten

#1 Thomas Schremser
12/12/2008 - 11:58 | Warnen spam
Hallo Axel!

schrieb:

CASE WHEN (Datum1<> NULL) AND
(Datum1<= Datum2) THEN 'ja' ELSE 'nein' END AS
status

Bei oben aufgeführten Code wird aber auch wenn Datum 1 Leer ist nein
geschrieben.

warum?



Für Vergleiche mit NULL mußt Du den IS-Operator (bzw. IS NOT) verwenden:

CASE WHEN (Datum1 IS NOT NULL) ...

Grüße
Thomas

Any problem in computer science can be solved with another layer
of indirection. But that usually will create another problem.
David Wheeler

Ähnliche fragen