Sql 返回用户输入日期之前用户输入间隔内的所有记录

Sql 返回用户输入日期之前用户输入间隔内的所有记录,sql,datetime,Sql,Datetime,我需要返回日期在用户输入日期之前指定时间内的所有记录最有可能是一周,但它可以是任何内容,我尝试了此方法,但似乎不起作用: where T.postdate >= DateADD(day, @Length, @StartDate) 其中,用户在存储过程中输入@Length和@StartDate,但其返回日期是几个月前的。如果我理解正确,可以执行以下操作: 这个实例中唯一返回的结果是2010-10-01,因为它在@startDate和@startDate之前的5天之间,从几个月前到

我需要返回日期在用户输入日期之前指定时间内的所有记录最有可能是一周,但它可以是任何内容,我尝试了此方法,但似乎不起作用:

     where T.postdate >= DateADD(day, @Length, @StartDate)

其中,用户在存储过程中输入@Length和@StartDate,但其返回日期是几个月前的。

如果我理解正确,可以执行以下操作:


这个实例中唯一返回的结果是2010-10-01,因为它在@startDate和@startDate之前的5天之间,从几个月前到@startDate

之间-月份从哪里来?我有这样一个问题:其中T.postdate试试这个:T.postdate>=DateADDday,-7,'2014-10-7'带引号,否则2014-10-7=1997,是一个数学表达式,不是date@user3825831你的评论T.postdate在哪里
Try this.
WHERE T.postdate >= DATEADD(week, -@Length, @StartDate)
Try this.
WHERE T.postdate >= DATEADD(week, -@Length, @StartDate)