Ошибка преобразования при преобразовании значения varchar в бит типа данных.СОЮЗ ВСЕХ - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть два набора данных в 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 работает, и оно прерывается, как только я добавляю вычисление даты.

Desired result

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...