'0000-00-00 00:00:00.000'
недопустимо datetime
select CAST('0000-00-00 00:00:00.000' as datetime)
выдает следующую ошибку
Преобразование типа данных varchar в тип данных datetime привело кзначение вне допустимого диапазона.
У вас отключены следующие опции?
set arithabort off
set ansi_warnings off
select CAST('0000-00-00 00:00:00.000' as datetime)
В этом случае вместо этого оно преобразуется в NULL
.
Есть ли причина, по которой вы все равно не используете NULL
для представления отсутствия значения, а не "магического" значения дозорного?