为什么一周和一天的datediff对于一周和一天返回相同的结果?
这是我正在使用的查询;
select DATEDIFF("D",[ARRS-DATE], GETDATE()) daysdiff ,DATEDIFF("W",[ARRS-DATE], GETDATE()) weeksdiff,* from [RE-ARRS-HIST]
关于什么原因的任何想法?
谢谢。
答案 0 :(得分:5)
"w"
并非数周的简写,它是WEEKDAY
的别名。由于“工作日”作为datediff选项实际上没有任何意义,因此我想这就像在后台行事一样。
如果您想要周数差异,则需要使用"ww"
或"wk"
。或者最好还是使用完整版本WEEK
,它更加清晰,而且编写起来也不难。
SELECT DATEDIFF(DAY, [ARRS-DATE], GETDATE()) AS daysdiff,
DATEDIFF(WEEK, [ARRS-DATE], GETDATE()) AS weeksdiff
FROM [RE-ARRS-HIST];
Bad Habits to Kick : Using shorthand with date/time operations