-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 –