2013-10-22 37 views
1

我需要用戶按日期給出的結果。如果用戶給出的日期2013年1月14日,總天數= 2,我需要過濾掉需要找出某段時間的日期和天數

2013-01-10 
2013-01-11 
2013-01-14 
2013-01-15 
2013-01-16 

,它不應該返回12和13,即2013年1月13日的日期 假設, 2013年1月12日

同樣,如果總天數= 3 然後

2013-01-09 
    2013-01-10 
    2013-01-11 
    2013-01-14 
    2013-01-15 
    2013-01-16 
    2013-01-17 

我怎麼可能得到這個。

回答

1

試試這個使用DateAdd()功能:

declare @Number int = 2, @Date Date = '20130114' --yyyymmdd format 

select col1, col2 
from yourTable 
where dateCol >= dateAdd(day, -1*@Number, @Date) and dateCol< @Date 

更新:您的描述不是很清楚,我認爲你需要的是從給定的日期+/-範圍內選擇記錄。

select col1, col2 
from yourTable 
where dateCol >= dateAdd(day, -1*@Number, @Date) and dateCol <= dateAdd(day, @Number, @Date) 
+0

對不起,它不工作。 – user2624315

+0

你是什麼意思?沒有得到正確的結果或錯誤? – Kaf

相關問題