如何在两个日期之间找到一周(SQL)

时间:2015-06-03 20:02:28

标签: sql

我如何选择一周,这意味着它就像一张表:

  • 开始日期
  • 结束日期

在另外两个日期之间(例如,一个事件)?

例如(使用美国日期),我有

  • 06/01/2015 - > 2015年6月6日为目标周

并且

  • 05/25/2015 - >整个活动期间07/01/2015

我希望查询只返回事件期间的周数。 我能够提供一周的开始和结束日期(来自所选WPF日历的数据),但我无法弄清楚如何在单个SQL查询中执行此操作。

我正在使用SQL Management Studio 2010

1 个答案:

答案 0 :(得分:1)

select *
from WeekTable w
where
w.WeekStartDate between @StartDate and @EndDate
and w.WeekEndDate between @StartDate and @EndDate

这将为您提供两个特定日期之间的整周。

如果您想要部分周也只需更改为:

select *
from WeekTable w
where
w.WeekStartDate between @StartDate and @EndDate
OR w.WeekEndDate between @StartDate and @EndDate
OR @StartDate between w.WeekStartDate and w.WeekEndDate