webentwicklung-frage-antwort-db.com.de

SQL SERVER: Abrufen der Gesamttage zwischen zwei Datumsangaben

Ich versuche die Gesamtzahl der Tage zwischen zwei Tagen zu ermitteln:

1/1/2011
3/1/2011

RETURN
62

Ist es in SQL Server möglich?

118
Pod Mays

PRINT DATEDIFF(DAY, '1/1/2011', '3/1/2011') gibt Ihnen das, wonach Sie suchen.

Dies gibt an, wie oft die Mitternachtsgrenze zwischen den beiden Daten überschritten wird. Sie können entscheiden, ob Sie ein Datum hinzufügen müssen, wenn Sie beide Datumsangaben in die Zählung aufnehmen.

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

Siehe DateDiff :

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

Sie können diesen MSDN-Link versuchen

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

Ein anderes Datumsformat

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

wenn Sie die gleiche Prozedur speichern möchten, müssen Sie den folgenden Code anwenden.

select  (datediff(dd,'+CHAR(39)+ convert(varchar(10),@FromDate  ,101)+ 
 CHAR(39)+','+CHAR(39)+ convert(varchar(10),@ToDate  ,101) + CHAR(39) +')) 
 Daysdiff

wobei @fromdate und @todate Parameter des SP sind

0
Bha15