DATEDIFF(datepart,FromDate , Todate)
SELECT DATEDIFF(dayofyear,'2008-08-07','2008-08-09') AS DiffDate
结果= 2天
从计算日期或今天的差异时排除哪个日期sql server?为什么7,8和9不是3天?
答案 0 :(得分:1)
因为在大多数十进制数学系统中9-7
是2
?
答案 1 :(得分:1)
为简单起见,您可以记住,DATEDIFF
将范围视为,包括“来自”日期和,不包括“到”日期。因此,在您的情况下,只计算第7和第8。
Formally,逻辑被描述为:
返回指定的 startdate 和 enddate 之间交叉的指定 datepart 边界的计数(有符号整数)。
DAYOFYEAR
和2008-08-07
之间有多少2008-08-09
个边界?
2008-08-07
- > 2008-08-08
2008-08-08
- > 2008-08-09
两,正好相反。因此得到的结果。
答案 2 :(得分:0)
你在7th
。你需要等多少天才能登上9th
?
2