Hi,
I have the report send out to display the due date as below and not show the weekend. For example, today's report I have
![]()
1= Late,
2= Today,
3= Tomorrow,
4=Tomorrow+1,
5=Tomorrow+2
6= Tomorrow +3
7= Tomorrow +4
but mine logic is displayed 6/29 instead of 7/1. I am not sure what i have wrong , please help. Thanks
declare @testdate date
set @testdate = '06/25/2019'
select '1' sortGroupBy --late
,'' dt
union all
select '2' sortGroupBy--due today
,convert(varchar, @testdate,101) dt
union all
select '3' sortGroupBy--due tomorrow
,case when datename(dw,dateadd(d,1, @testdate))='Saturday' then convert(varchar,dateadd(d,3, @testdate),101)
when datename(dw,dateadd(d,1, @testdate))='Sunday' then convert(varchar,dateadd(d,2, @testdate),101)
else convert(varchar,dateadd(d,1, @testdate),101) end dt
union all
select '4' sortGroupBy--due tomorrow + 1
,case when datename(dw,dateadd(d,1, @testdate))='Saturday' then convert(varchar,dateadd(d,4, @testdate),101)
when datename(dw,dateadd(d,1, @testdate))='Sunday' then convert(varchar,dateadd(d,3, @testdate),101)
else convert(varchar,dateadd(d,2, @testdate),101) end dt
union all
select '5' sortGroupBy--due tomorrow + 2
,case when datename(dw,dateadd(d,1, @testdate))='Saturday' then convert(varchar,dateadd(d,5, @testdate),101)
when datename(dw,dateadd(d,1, @testdate))='Sunday' then convert(varchar,dateadd(d,4, @testdate),101)
else convert(varchar,dateadd(d,3, @testdate),101) end dt
--
union all
select '6' sortGroupBy--due tomorrow + 3
,case when datename(dw,dateadd(d,1, @testdate))='Saturday' then convert(varchar,dateadd(d,6, @testdate),101)
when datename(dw,dateadd(d,1, @testdate))='Sunday' then convert(varchar,dateadd(d,5, @testdate),101)
else convert(varchar,dateadd(d,4, @testdate),101) end dt
union all
select '7' sortGroupBy--due tomorrow + 4
,case when datename(dw,dateadd(d,1,@testdate))='Saturday' then convert(varchar,dateadd(d,7,@testdate),101)
when datename(dw,dateadd(d,1,@testdate))='Sunday' then convert(varchar,dateadd(d,6,@testdate),101)
else convert(varchar,dateadd(d,7,@testdate),101) end dt