سؤال

I need to return records where there is a date older than 30days but less than 90days. so If someone bought something either 31 days ago or 89 days ago its those rows i need to return, ignoring the last 30 days and anything outside of 90days.

هل كانت مفيدة؟

المحلول

WHERE DateCol < DATEADD(dd, DATEDIFF(dd, 0, DATEADD(dd,-30, GetDate())), 0)
AND   DateCol > DATEADD(dd, DATEDIFF(dd, 0, DATEADD(dd,-90, GetDate())), 0)

The DATEADD-DATEDIFF truncates the time part, so that 30 days ago means midnight 30 days ago.

Demo

نصائح أخرى

WHERE DATEDIFF(now(),date)>30 and DATEDIFF(now(),date)<90
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top