要获得2个日期之间的差异

时间:2009-04-16 08:27:32

标签: sql sql-server sql-server-2005 tsql

我有2个约会。我想获得storedprocedure中两个日期之间的天数。

5 个答案:

答案 0 :(得分:12)

DateDiff函数应该做你需要的

declare @var1 Datetime
declare @var2 Datetime

set @var1 = '2009-04-01'
set @var2 = '2009-04-16'

SELECT datediff(day,@var1, @var2 )

答案 1 :(得分:1)

使用dateDiff函数怎么样?

例如

DECLARE @Dt INT
SET @Dt = DATEDIFF(dd,@StartDate,@EndDate) 

应该做什么?

或者我错过了什么?

答案 2 :(得分:1)

USE tempdb

DECLARE @DATE1 datetime

DECLARE @DATE2 datetime

SET @DATE1 = '01/01/2000'

SET @DATE2 = '02/01/2000'

SELECT DATEDIFF(day, @DATE1, @DATE2)

答案 3 :(得分:0)

DATEDIFF就是这样做的方式

答案 4 :(得分:0)

请注意,DATEDIFF仅关注日期部分。如果涉及时间,转换的减法可能会产生更好的结果。

DECLARE @start DATETIME
DECLARE @end DATETIME
SET @start = '20090514 00:00:00'
SET @end = '20090514 23:59:59'
PRINT CONVERT(FLOAT, (@end-@start))  -- 0.999988
PRINT DATEDIFF(DAY,@start,@end)      -- 0