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

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -