Das liegt daran, dass die Zeichenfolge ''
leer ist ist nicht NULL
. Wenn ja:
select Cast(null AS datetime)
AUSGABE:
-----------------------
NULL
(1 row(s) affected)
CAST und CONVERT (Transact-SQL)
Wenn Zeichendaten, die nur Datums- oder nur Zeitkomponenten darstellen, in datetime umgewandelt werden oder smalldatetime Datentypen wird die unbestimmte Zeitkomponente auf 00:00:00.000 und die unbestimmte Datumskomponente auf 1900-01-01 gesetzt.