MS SQL中的日期差异

时间:2013-10-10 07:23:26

标签: sql-server

DATEDIFF(datepart,FromDate , Todate)

SELECT DATEDIFF(dayofyear,'2008-08-07','2008-08-09') AS DiffDate

结果= 2天

从计算日期或今天的差异时排除哪个日期sql server?为什么7,8和9不是3天?

3 个答案:

答案 0 :(得分:1)

因为在大多数十进制数学系统中9-72

答案 1 :(得分:1)

为简单起见,您可以记住,DATEDIFF将范围视为,包括“来自”日期,不包括“到”日期。因此,在您的情况下,只计算第7和第8。

然而,

Formally,逻辑被描述为:

  

返回指定的 startdate enddate 之间交叉的指定 datepart 边界的计数(有符号整数)。

DAYOFYEAR2008-08-07之间有多少2008-08-09个边界?

  • 2008-08-07 - > 2008-08-08
  • 2008-08-08 - > 2008-08-09

两,正好相反。因此得到的结果。

答案 2 :(得分:0)

你在7th。你需要等多少天才能登上9th

2