Tsql 在T-SQL中计算日期范围

Tsql 在T-SQL中计算日期范围,tsql,Tsql,我有一个日期字段,我希望返回一个日期减去给定天数的结果。例如,@today-30将为我提供最后30天的数据。我如何才能做到这一点?您可以使用dateAdd。day的语法可能因DBMS而异 WHERE datecolumn BETWEEN dateAdd(day,-30,getDate()) AND getDate() 或 对于计算日期范围,您可以使用:- WHERE date_column BETWEEN date1 AND date2 DATEADD(DAY, -30, '9/1/201

我有一个日期字段,我希望返回一个日期减去给定天数的结果。例如,@today-30将为我提供最后30天的数据。我如何才能做到这一点?

您可以使用dateAdd。
day
的语法可能因DBMS而异

WHERE datecolumn BETWEEN dateAdd(day,-30,getDate()) AND getDate()


对于计算日期范围,您可以使用:-

WHERE date_column BETWEEN date1 AND date2
 DATEADD(DAY, -30, '9/1/2011')
现在,对于减法,您可以使用:-

WHERE date_column BETWEEN date1 AND date2
 DATEADD(DAY, -30, '9/1/2011')
比如:=

 WHERE datecolumn BETWEEN dateAdd(day,-30,date1) AND date2

更具体地说,我想要的是今天减去几天。30days=today-3060days=today-60120days=today-120等等……因此,如果您正在创建一个存储过程,那么您可以创建一个输入参数,比如@days,在其中传递天数(3060120),您可以像这样使用它:-where datecolumn-BETWEEN-dateAdd(day,-@days,date1)date2希望能解决您的问题?SQL Server还是Sybase?至少在SQL Server中,如果
@today
是一个
datetime
变量,那么
SELECT*FROM dbo.SomeTable,其中DateColumn>=@today-30
实际上可以执行您想要的操作。但是你到底想做什么并不明显,所以请给出你的查询和目标的更多细节。