空の文字列''
が原因です NULL
ではありません 。行う場合:
select Cast(null AS datetime)
出力:
-----------------------
NULL
(1 row(s) affected)
CAST and CONVERT(Transact-SQL)
日付のみまたは時間コンポーネントのみを表す文字データが日時にキャストされる場合 またはsmalldatetime データ型では、指定されていない時間コンポーネントは00:00:00.000に設定され、指定されていない日付コンポーネントは1900-01-01に設定されます。