SQL日期范围

时间:2010-10-22 01:28:14

标签: sql date range

  

可能重复:
  90 days range using SQL server

我试图在运营日期前90天获取计数,并在运营日期后90天计算。例如,我的运营日期是2004年4月1日。因此,2004年4月1日前的90天(2004年1月2日至2004年3月31日)和之后的90天(包括2004年4月1日)是6/29/2004。

我使用了以下脚本并手动计算天数,但效率不高......

select
site,
count(*) as prior_counts
from mytable
where mydate >='1/2/2004'
and mydate <'4/1/2004'
group by site


select
site,
count(*) as after_counts
from mytable
where mydate >='4/1/2004'
and mydate <'6/30/2004'
group by site

2 个答案:

答案 0 :(得分:0)

如果您不使用SQL Server,则应查看DATEDIFF函数或等效函数。

DATEDIFF on MSDN

答案 1 :(得分:0)

如果要从应用程序传递date参数,请考虑修改应用程序以为您执行日期范围计算。通过传入两个参数,您可以减轻SQL的计算负担,从而提高性能。