# question

## Date Range with case statement

Hi! I have the following statement in my query and I need to find a 90 day range from the given date. How can I accomplish this? CASE WHEN CLD.Desired_Ship_Date IS NOT NULL THEN CLD.Desired_Ship_Date ELSE Col.desired_ship_date END AS DesiredDate

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

·
If you're looking for "Desired" date within the last 90 days... WHERE datediff(day, isNull(CLD.Desired_Ship_Date, Col.desired_ship_date), getdate()) < 90 If you're looking for a date range that covers a range of 90 days before and after "DesiredDate"... WHERE some_date between dateadd(day, -90, isNull(CLD.Desired_Ship_Date, Col.desired_ship_date)) AND dateadd(day, 90, isNull(CLD.Desired_Ship_Date, Col.desired_ship_date))

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

·
Yes I'm looking for the range 90 day from the desired_ship_date. I tried the following: but it's picking up dates beyond 90 days WHERE datediff(day, isNull(CLD.Desired_Ship_Date, Col.desired_ship_date), getdate()) < 90
0 Likes 0 ·
·
is "DesiredDate" in the future? That would make datediff evaluate to a negative number and return everything. You might check the absolute value of the difference WHERE abs(datediff(day, isNull(CLD.Desired_Ship_Date, Col.desired_ship_date), getdate())) < 90
0 Likes 0 ·
·
Thank you Ken! It looks like this works. abs(datediff(day, isNull(CLD.Desired_Ship_Date, Col.desired_ship_date), getdate())) < 90
0 Likes 0 ·
·