use*_*384 5 sql select date-range
我想选择所有的记录[Orders]是有[Submissiondate]超过7天以下.
我完全难过了.这是我正在执行的查询:
SELECT * FROM [Orders] WHERE ([SubmissionDate] < @SubmissionDate)
Run Code Online (Sandbox Code Playgroud)
不行.
如果你的意思是你想与行SubmissionDate之间@SubmissionDate和@SubmissionDate - 7 days,那么这就是我将如何实现这在Transact-SQL:
WHERE [SubmissionDate] BETWEEN DATEADD(DAY, -7, @SubmissionDate)
AND @SubmissionDate
Run Code Online (Sandbox Code Playgroud)
注意BETWEEN暗示>=和<=.如果您需要严格的不等式,请将其设为:
WHERE [SubmissionDate] > DATEADD(DAY, -7, @SubmissionDate)
AND [SubmissionDate] < @SubmissionDate
Run Code Online (Sandbox Code Playgroud)
您也可以尝试这个DATEDIFF
SELECT * FROM [Orders] WHERE datediff(d,SubmissionDate,GETDATE()) > 7
Run Code Online (Sandbox Code Playgroud)
其中 GetDate() 是今天的日期,d相差天数
select datediff(d,'2012/06/23',GETDATE())
Run Code Online (Sandbox Code Playgroud)
应该给你 7,因为这是 7 天前