我需要用户按日期给出的结果。 假设用户给出日期2013-01-14和总天数= 2,我需要过滤掉
2013-01-10
2013-01-11
2013-01-14
2013-01-15
2013-01-16
并且它不应该返回12和13的日期,即2013-01-13,2013-01-12
同样如果总天数= 3 那么
2013-01-09
2013-01-10
2013-01-11
2013-01-14
2013-01-15
2013-01-16
2013-01-17
我怎么可能得到这个。
答案 0 :(得分: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)