Je reçois erreur dans la requête ci-dessous.J'ai un start_date et un end_date. Je veux obtenir la liste des dates entre GETDATE(). Quelqu'un peut-il m'aider à pointer l'erreur dans ma requête
Recherche
;with CTE as
(select Dm.Category_id as Category_Label_id,Ca.Category_Name as Category_label_Name,
convert(datetime, convert(varchar,year(getdate())) + '/' + convert(varchar,MONTH(GETDATE())) + '/' + convert(varchar, day(d.Expiry_Date))) as Exp_date1
,DATEDIFF(day,getdate(), convert(varchar(10), convert(varchar,year(getdate())) + '/' + convert(varchar,MONTH(GETDATE())) + '/' + convert(varchar, day(d.Expiry_Date)))) as Days_remain
,convert(datetime, DATEADD(day,-Reminder_Days, convert(varchar(10), convert(varchar,year(getdate())) + '/' + convert(varchar,MONTH(GETDATE())) + '/' + convert(varchar, day(d.Expiry_Date))))) as Exp_date2
from documentalert d
inner join document dm on dm.doc_id=d.doc_id
inner join Category ca on ca.Category_id = dm.Category_id
inner join category_value c on c.doc_id= dm.doc_id
inner join dbo.Category_Key k on k.Category_Key_id= c.category_label_id
and c.Category_Label_id=4 -- expiry date
where d.alerttype='M'
and dm.user_id=427 and dm.is_active=1)
select * from cte where getdate() between Exp_date2 and Exp_date1
Erreur
Msg 242, Niveau 16, État 3, Ligne 1 La conversion d'une donnée varchar de type à un type de données DATETIME a donné une valeur hors de portée.
S'il vous plaît formater votre requête afin que nous puissions réellement le lire – HoneyBadger
https://stackoverflow.com/users/1587819/honeybadger s'il vous plaît vérifier – Rushang
autre que cela, sans quelques données d'échantillon, le schéma et la sortie désirée, il est difficile de voir ce qui se passe sur. – Tanner