web-dev-qa-db-fra.com

SERVEUR SQL: Obtenez le nombre total de jours entre deux dates

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?

118
Pod Mays

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.

237
Will A

SQL Server DateDiff

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);
34
Khepri

Voir DateDiff :

DECLARE @startdate date = '2011/1/1'
DECLARE @enddate date = '2011/3/1'
SELECT DATEDIFF(day, @startdate, @enddate)
15
Mitch Wheat

Vous pouvez essayer ceci lien MSDN

DATEDIFF ( datepart , startdate , enddate )
SELECT DATEDIFF(DAY, '1/1/2011', '3/1/2011')
14
jams

Un autre format de date

select datediff(day,'20110101','20110301')
10
cakiran
SELECT DATEDIFF(day, '2005-12-31 23:59:59.9999999', '2006-01-01 00:00:00.0000000');
4
VMAtm

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

0
Bha15