Det er fordi tom streng ''
er ikke NULL
. Hvis du gør:
select Cast(null AS datetime)
OUTPUT:
-----------------------
NULL
(1 row(s) affected)
CAST og KONVERTER (Transact-SQL)
Når tegndata, der kun repræsenterer dato eller kun tidskomponenter, sendes til datoklokkeslæt eller smalldatetime datatyper, er den uspecificerede tidskomponent sat til 00:00:00.000, og den uspecificerede datokomponent er sat til 1900-01-01.