J'essaie d'obtenir le nombre total de jours entre deux jours:
1/1/2011
3/1/2011
RETURN
62
Est-il possible de faire dans SQL Server?
PRINT DATEDIFF(DAY, '1/1/2011', '3/1/2011')
vous donnera ce que vous cherchez.
Cela donne le nombre de fois où la limite de minuit est franchie entre les deux dates. Vous pouvez décider de devoir en ajouter un si vous incluez les deux dates dans le décompte ou soustrayez-en une si vous ne souhaitez inclure aucune date.
DECLARE @startdate datetime2 = '2007-05-05 12:10:09.3312722';
DECLARE @enddate datetime2 = '2009-05-04 12:10:09.3312722';
SELECT DATEDIFF(day, @startdate, @enddate);
Voir DateDiff :
DECLARE @startdate date = '2011/1/1'
DECLARE @enddate date = '2011/3/1'
SELECT DATEDIFF(day, @startdate, @enddate)
Vous pouvez essayer ceci lien MSDN
DATEDIFF ( datepart , startdate , enddate )
SELECT DATEDIFF(DAY, '1/1/2011', '3/1/2011')
Un autre format de date
select datediff(day,'20110101','20110301')
SELECT DATEDIFF(day, '2005-12-31 23:59:59.9999999', '2006-01-01 00:00:00.0000000');
si vous voulez faire la même chose, vous devez appliquer le code ci-dessous.
select (datediff(dd,'+CHAR(39)+ convert(varchar(10),@FromDate ,101)+
CHAR(39)+','+CHAR(39)+ convert(varchar(10),@ToDate ,101) + CHAR(39) +'))
Daysdiff
où @fromdate et @todate sont les paramètres du SP