Мой вопрос связан с этим один . Когда я пытаюсь выполнить этот запрос:
with toupdate as (
select t.*,
lag(enddate) over (partition by employee order by startdate) as prev_enddate
from MyTable t
)
update toupdate
set startdate = dateadd(day, 1, prev_enddate)
where startdate <> dateadd(day, 1, prev_enddate);
У меня появляется это сообщение об ошибке:
Добавление значения в столбец «дата» вызвало переполнение.
Зная, что:
SELECT MIN(BI_StartDate),MIN(BI_EndDate),MAX(BI_StartDate),MAX(BI_EndDate)
FROM MyTable
Выход:
MinBIStart MinBIEnd MAXBIStart MAX BIEnd
1900-12-31 2017-06-27 2020-03-27 9999-12-31