当我查看SQL Server 上的DATEDIFF()函数时,我发现它采用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
Run Code Online (Sandbox Code Playgroud)
对于 DATEDIFF() 而言,dayofyear和day是否等效?
是的,对于 来说效果相同DATEDIFF()
。对于像 之类的算术函数DATEDIFF()
,它将具有相同的结果,因为数学仍然考虑相同的单位:无论是 forday
还是dayofyear
它们都仍然以天为单位。
归档时间: |
|
查看次数: |
5500 次 |
最近记录: |