Sql server 2008 需要找出某个时期的日期和天数

Sql server 2008 需要找出某个时期的日期和天数,sql-server-2008,Sql Server 2008,我需要用户提供的日期结果。 假设用户给出日期2013-01-14,总天数=2,我需要过滤掉 2013-01-10 2013-01-11 2013-01-14 2013-01-15 2013-01-16 它不应该返回12和13的日期。ie 2013-01-132013-01-12 同样,如果总天数=3 然后 我怎么可能得到这个 使用DateAdd()函数尝试此操作: declare @Number int = 2, @Date Date = '20130114' --yyyymmdd forma

我需要用户提供的日期结果。 假设用户给出日期2013-01-14,总天数=2,我需要过滤掉

2013-01-10
2013-01-11
2013-01-14
2013-01-15
2013-01-16
它不应该返回12和13的日期。ie 2013-01-132013-01-12

同样,如果总天数=3 然后


我怎么可能得到这个

使用
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
declare@Number int=2,@Date-Date='20130114'--yyyyymmdd格式
选择col1,col2
从你的桌子上
其中dateCol>=dateAdd(day,-1*@Number,@Date)和dateCol<@Date
更新:您的描述不是很清楚,我想您需要的是选择给定日期+/-范围内的记录

select col1, col2
from yourTable
where dateCol >= dateAdd(day, -1*@Number, @Date) and dateCol <= dateAdd(day, @Number, @Date)
选择col1、col2
从你的桌子上

其中dateCol>=dateAdd(day,-1*@Number,@Date)和dateCol请使用
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
declare@Number int=2,@Date-Date='20130114'--yyyyymmdd格式
选择col1,col2
从你的桌子上
其中dateCol>=dateAdd(day,-1*@Number,@Date)和dateCol<@Date
更新:您的描述不是很清楚,我想您需要的是选择给定日期+/-范围内的记录

select col1, col2
from yourTable
where dateCol >= dateAdd(day, -1*@Number, @Date) and dateCol <= dateAdd(day, @Number, @Date)
选择col1、col2
从你的桌子上
其中dateCol>=dateAdd(day,-1*@Number,@Date)和dateCol