Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL-Cast-Datum/Uhrzeit

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.