У меня есть два набора данных в UNION ALL
, однако, когда я добавляю дату в одну из таблиц, UNION ALL
возвращает ошибку:
Преобразование не удалось при преобразовании значения varchar в бит типа данных
Независимо работают нормально.
Я пытался привести / преобразовать нулевое значение, также пытался привести как int строку datetime, и ничего из этого не работает.
period.CalendarDate,
[FOR_StartDate] = (CONVERT(varchar(10),dateadd(day,-1,dateadd(month,datediff(month,0,dateadd(month, 3, datefromparts(left(D.StartFinPeriod, 4)-1, right(D.StartFinPeriod, 2), 1))),0)),120)),
[FOR_EndDate] = (DATEADD(MONTH,12,CONVERT(varchar(10),dateadd(day,-1,dateadd(month,datediff(month,0,dateadd(month, 3, datefromparts(left(D.StartFinPeriod, 4)-1, right(D.StartFinPeriod, 2), 1))),0)),120))),
UNION ALL
period.CalendarDate,
[ForecastPeriod] = '',
[ForecastMonth] = '',
Должен возвращать данные без ошибок, все остальное в UNION
работает, и оно прерывается, как только я добавляю вычисление даты.