Я довольно новичок в SQL. Я делаю запрос с параметрами для фильтрации любых объектов, которые были отправлены более 6 месяцев назад, и (после проверки других переменных), если он был отправлен в течение последних 21 дня. Код будет работать, если я держу последнюю строку закомментирована (я покажу вам ниже), но когда я раскомментировать эту строку, код дает мне ошибку:SQLError с функцией dateadd/функциями времени
Conversion failed when converting date and/or time from character string.
Я пытался вещи и исследования, но у меня все еще есть проблемы. Ваша помощь будет принята с благодарностью. Код ниже:
where i.status IN ('CR','LB','OB')
and i.FGCs > 0
and i.LastShpd > CAST(CONVERT(CHAR(11),DATEADD(DAY,-180,GETDATE()),113) AS datetime)
and (n.LastShpd IN ('0', '')
and (i.OnOrder IN ('0', '')
or i.LastShpd < CAST(CONVERT(CHAR(11),DATEADD(DAY,-21,GETDATE()),113) AS datetime2)))
Почему вы разыгрываете DateTime СИМВОЛУ затем обратно в datetime2? Особенно на гораздо меньшую длину? – Pred
Каков тип данных 'lastshpd'? –
lastshpd - дата и время datatype –