AJM*_*AJM 1 sql t-sql sql-server-2005
以下所有三个陈述都返回相同的结果.所以我很难看到使用dayofyear,day和weekday之间的区别.我错过了什么或者它们都相同吗?
SELECT DATEADD(dayofyear,1,'20111231')
SELECT DATEADD(day,1,'20111231')
SELECT DATEADD(weekday,1,'20111231')
Run Code Online (Sandbox Code Playgroud)
他们都返回2012-01-01 00:00:00.000
在那个用途中,没有他们返回相同.虽然"日"对于这种用途感觉很自然.
区别在于(例如)DATEPART:
SELECT DATEPART(dayofyear,'20111231') -- 365
SELECT DATEPART(day,'20111231') -- 31
SELECT DATEPART(weekday,'20111231') --7
Run Code Online (Sandbox Code Playgroud)
这是MSDN参考:
dayofyear,day和weekday返回相同的值.