我想从[Orders]中选择所有[Submissiondate]少于7天的记录。

我完全迷住了。这是我正在执行的查询:

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

不起作用

最佳答案

如果您是想在SubmissionDate@SubmissionDate之间使用带有@SubmissionDate - 7 days的行,那么这就是我在Transact-SQL中实现的方式:

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

请注意,BETWEEN表示>=<=。如果需要严格的不等式,则使其如下所示:
WHERE [SubmissionDate] > DATEADD(DAY, -7, @SubmissionDate)
  AND [SubmissionDate] < @SubmissionDate

09-25 18:03