当我查看 SQL Server 上的DATEDIFF()函数时,我发现它采用datepart作为其第一个参数。
可能的datepart值包括day和dayofyear。
我知道dayofyear是一年中的第几天(例如,2 月 2 日是 33),而day是一个月中的哪一天(所以 2 月 2 日是 2)。但是,我不明白 DATEDIFF 函数的区别。
这里有些例子:
select DATEDIFF(dayofyear, '2012-01-01', '2012-02-02')
returns: 32
select DATEDIFF(day, '2012-01-01', '2012-02-02')
returns: 32
select DATEDIFF(dayofyear, '2011-02-01', '2012-02-02')
returns: 366
select DATEDIFF(day, '2011-02-01', '2012-02-02')
returns 366
就 DATEDIFF() 而言,dayofyear和day是否等效?
是的,对于
DATEDIFF()
. 对于像 的算术函数DATEDIFF()
,它将具有相同的结果,因为数学仍然考虑相同的单位:无论是 forday
还是dayofyear
它们都仍然以天为单位。