alors Datediff marche ainsi :
DATEDIFF ( datepart , startdate , enddate )
suivant le date part que tu lui passe il va calculer la différence (Endate - startdate) en jours entiers , années mois millisecondes , secondes etc..
donc :
DATEDIFF (day,CONVERT(varchar(10), GETDATE(), 112),dbo.ma_table.ma_colonne_date)
renverra un entier représentant la différence en jours de
dbo.ma_table.ma_colonne_date - CONVERT(varchar(10), GETDATE(), 112)
Je pense que pour avoir les elements dont la date est celle d'aujourd'hui + ou egalement ceux d'avant, hier etc..
il faut faire un
DATEDIFF (day,CONVERT(varchar(10), GETDATE(), 112),dbo.ma_table.ma_colonne_date) <= 0
comem ca à vue de nez..
totu est dans le "=" ;)
Et puis c'est pas le mien le DateDIFF c'est celui de Microsoft ;))) je ne saurais etre tenu pour responsable de toute défaillance de la bête ;))
pour ajouter des jours / mois /années/ secondes etc... à la place du getdate+1 utilise plutot
DATEADD ( datepart , number, date )
par exemple pour ajouter 1 jour complet (+24h) :
DATEADD ( day , 1 , GETDATE() )
retirer 1 jour :
DATEADD ( day , -1 , GETDATE() )
marche itou..
reférence ici :
http://msdn.microsoft.com/library/de...da-db_3vtw.asp
PS: honte à moi !!! opprobe et disgrace sur ma descendance pendant 9 génération !! je viens de corriger le datediff fait ENDATE -StartDate et non pas StartDate -Enddate..
Partager