sql - truncate date to week and compare against existing variable -
i have column called actuals_date , want insert dates table on rolling basis such previous 6 weeks , next 8 weeks loaded table.
for previous 6 weeks, have following sql structure (from tableau)
[actuals date] > dateadd('week',-6,datetrunc('week', today()) - 1) , [actuals date] <= datetrunc('week', today()) - 1
and next 8 weeks, following syntax tableau:
[forecast date] >= datetrunc('week', today()) - 1 , [forecast date] <= dateadd('week', 7,datetrunc('week', today()) - 1)
can please me convert sql query?
one way accomplish goal use dateadd()
previous 6 weeks:
select f.mycolumns dbo.mytable f f.mydatefield between dateadd(week,-6,cast(getdate() date)) , cast(getdate() date)
next 8 weeks:
select f.mycolumns dbo.mytable f f.mydatefield between cast(getdate() date) , dateadd(week,8,cast(getdate() date))
note: assumes f.mydatefield date without time. if f.mydatefield has time, want cast date
select f.mycolumns dbo.mytable f cast(f.mydatefield date) between dateadd(week,-6,cast(getdate() date)) , cast(getdate() date)
Comments
Post a Comment