如何获取开始日期 td {
cursor: pointer;
}
(7月1日,周五)和下周二之间的日期差异(以天为单位)?
谢谢!
答案 0 :(得分:1)
嗯。怎么样?
select (case when datename(dow, date) = 'Monday' then 1
when datename(dow, date) = 'Tuesday' then 7
when datename(dow, date) = 'Wednesday' then 6
when datename(dow, date) = 'Thursday' then 5
when datename(dow, date) = 'Friday' then 4
when datename(dow, date) = 'Saturday' then 3
when datename(dow, date) = 'Sunday' then 2
end)
答案 1 :(得分:0)
你可以试试这个:
SELECT DATEDIFF(day,'2014-06-05','2014-08-05') AS DiffDate
答案 2 :(得分:0)
递归cte怎么样?
;with cte as
(SELECT 0 as d
, DATENAME(dw, DATEADD(day, 0, CONVERT(date, '20160701'))) dname
union all
select d + 1
, DATENAME(dw, DATEADD(day, d + 1, CONVERT(date, '20160701'))) dname
from cte
where d < 6
)
select d as NumberOfDaysUntil
, dname
from cte
where dname = 'Tuesday'
从当天开始,它获得一周的工作日并找到第一个名称匹配。如果您想跳过开始的日期,请将0更改为1,将< 6
更改为< 7