Может быть, это кому-то поможет, так как моя проблема была немного другой.
SELECT, который выдавал эту ошибку, имел много вложенных SELECT и много сравнений дат с арифметическими операциями, такими как GETDATE() - CloseDate
.
Результат таких операций сравнивался с '1900-01-01'
, который многократно упоминался во вложенных SELECT.
Мое решение состояло в том, чтобы объявить переменные для результата GETDATE()
и datetime
для переменной '1900-01-01'
, чтобы избежать преобразований.
Declare @CurrentDate datetime = GetDate()
Declare @BlankDate datetime = '1900-01-01'
...
... @CurrentDate - CloseDate ...
... CloseDate <> @BlankDate ...
Бит DATEADD(DAY, DATEDIFF(DAY, 0, <mydate>), 0)
из ответа MatBailie также был полезен.