Select all entries younger than 7 days

I want to select all entries from [Orders]which have [Submissiondate]less than 7 days.

I am completely at a dead end. This is the request that I execute:

SELECT * FROM [Orders] WHERE ([SubmissionDate] < @SubmissionDate)

Does not work.

+5
source share
4 answers

If you want the rows with to SubmissionDatebe between @SubmissionDateand @SubmissionDate - 7 days, then I would implement this in Transact-SQL:

WHERE [SubmissionDate] BETWEEN DATEADD(DAY, -7, @SubmissionDate)
                           AND @SubmissionDate

Note what BETWEENimplies >=and <=. If you need strict inequalities, do it something like this:

WHERE [SubmissionDate] > DATEADD(DAY, -7, @SubmissionDate)
  AND [SubmissionDate] < @SubmissionDate
+5
source

, sql @SubmissionDate - ( ). , [Orders] , 7 :

SELECT * FROM [Orders] WHERE ([SubmissionDate] >= DATEADD(DD, -7, DATEADD(dd, 0, DATEDIFF(dd, 0, @SubmissionDate))))

:

  • "" @SubmissionDate.
  • 'Date To', [Orders] 'today' ( ).

, "" - ( SO).

DATEADD(dd, 0, DATEDIFF(dd, 0, @SubmissionDate))
+1

DATEDIFF

SELECT * FROM [Orders] WHERE  datediff(d,SubmissionDate,GETDATE()) > 7

GetDate() - , d -

select datediff(d,'2012/06/23',GETDATE())

7, 7

0

SELECT * FROM [Orders] WHERE [submit_date] <NOW () - INTERVAL 7 DAY;

0
source

All Articles