-1
这里是我的查询:SQL DATEADD(工作日,1,日期)似乎不起作用?
SELECT ID AS 'securityid'
, date
, DATEADD(DW, 1, adate) AS 'lagged_date_v2'
, DATEADD(DAY, 1, adate) AS 'lagged_date_v1'
, aclose AS 'previous_close'
FROM mytable
WHERE adate BETWEEN '20170101 09:00' AND '20170630 18:00' AND
ID = 100056;
这里是从上面的代码的输出:
我比白天和平日的结果DATEADD
并返回相同的结果。
列adate
只是典型的日期,我们可以告诉Jan 28, 2017
是星期六。但是,在此行上,lagged_date_v1
和lagged_date_v2
均返回Jan 28
。如果在工作日中正确使用DATEADD
,我应该看到Jan 30
而不是Jan 28
,对不对?
我的SQL Server版本是2008年
”dayofyear,day,and weekday return the same value。“ https://docs.microsoft.com/en-us/sql/t-sql/functions/dateadd-transact-sql;请参阅https://stackoverflow.com/questions/5471524/add-business-days-to-date-in-sql-without-loops –