在T-SQL中计算日期范围
答
为了计算日期范围,你可以使用: -
WHERE date_column BETWEEN date1 AND date2
现在减去你可以使用: -
DATEADD(DAY, -30, '9/1/2011')
som例如:=
WHERE datecolumn BETWEEN dateAdd(day,-30,date1) AND date2
+0
我正在寻找更具体的是今天减去多组天。 30天=今天 - 30,60天=今天 - 60,120天=今天-120等等... – tsqln00b 2013-03-18 18:08:49
+0
因此,如果你正在创建一个存储过程,那么你可以创建一个输入参数,比如@days (30,60,120),你可以像这样使用它: - WHERE datecolumn BETWEEN dateAdd(day, - @ days,date1)和date2希望能解决你的查询吗? – 2013-03-18 18:12:48
答
您可以使用dateAdd。的day
语法可能会因你的DBMS
WHERE datecolumn BETWEEN dateAdd(day,-30,getDate()) AND getDate()
或
WHERE datecolumn > dateAdd(day,-30,getDate())
SQL Server或Sybase?至少在SQL Server中,如果'@ today'是一个'datetime'变量,那么'SELECT * FROM dbo.SomeTable WHERE DateColumn> = @ today-30'实际上可以做你想做的事情。但是,无论如何,你要做什么并不明显,所以请详细说明你的问题以及你的目标是什么。 – Pondlife 2013-03-18 18:20:13