SQL SERVER:获取两个日期之间的总天数

Pod*_*ays 137 sql sql-server date sql-server-2008

我想要获得两天之间的总天数:

1/1/2011
3/1/2011

RETURN
62
Run Code Online (Sandbox Code Playgroud)

是否可以在SQL Server中执行?

Wil*_*l A 272

PRINT DATEDIFF(DAY, '1/1/2011', '3/1/2011') 会给你你想要的东西.

这给出了两个日期之间跨越午夜边界的次数.如果您在计数中包含两个日期,您可能决定需要添加一个 - 或者如果您不想包含任何一个日期,则减去一个日期.


Khe*_*pri 38

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);
Run Code Online (Sandbox Code Playgroud)


jam*_*ams 16

您可以尝试此MSDN链接

DATEDIFF ( datepart , startdate , enddate )
SELECT DATEDIFF(DAY, '1/1/2011', '3/1/2011')
Run Code Online (Sandbox Code Playgroud)


Mit*_*eat 16

DateDiff:

DECLARE @startdate date = '2011/1/1'
DECLARE @enddate date = '2011/3/1'
SELECT DATEDIFF(day, @startdate, @enddate)
Run Code Online (Sandbox Code Playgroud)


小智 12

另一种日期格式

select datediff(day,'20110101','20110301')
Run Code Online (Sandbox Code Playgroud)


VMA*_*Atm 5

SELECT DATEDIFF(day, '2005-12-31 23:59:59.9999999', '2006-01-01 00:00:00.0000000');
Run Code Online (Sandbox Code Playgroud)