Этот оператор выбора дает мне сообщение арифметической ошибке:Ошибка арифметического переполнения при преобразовании выражения для данных типа DateTime
SELECT CAST(FLOOR((CAST(LeftDate AS DECIMAL(12,5)))) AS DATETIME), LeftDate
FROM Table
WHERE LeftDate > '2008-12-31'
В то время как это работает:
SELECT CAST(FLOOR((CAST(LeftDate AS DECIMAL(12,5)))) AS DATETIME), LeftDate
FROM Table
WHERE LeftDate < '2008-12-31'
Может ли быть что-то неправильно с данными (Я проверил нулевые значения, и их нет)?
Единственный способ сделать это ... – gbn
@gbn Но он не будет делать это 'lateiff (ms, '1970-01-01', getdate())'. – Saulius
Спасибо @MatBailie, это исправило мою проблему! Использование CAST дало мне ошибку «Ошибка арифметического переполнения ошибки преобразования в тип данных datetime» –