【问题标题】:How to find a week between two dates (SQL)如何找到两个日期之间的一周(SQL)
【发布时间】:2015-06-04 04:53:53
【问题描述】:

我如何选择一个星期,这意味着它就像一张桌子,有:

  • 开始日期
  • 结束日期

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

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

  • 06/01/2015 -> 06/07/2015 目标周

还有

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

我希望查询仅返回事件期间之间的周数。 我能够提供一周的开始日期和结束日期(来自选定 WPF 日历的数据),但我只是不知道如何在单个 SQL 查询中做到这一点。

我正在使用 SQL Management Studio 2010

【问题讨论】:

  • 我认为您的帖子标签错误。请将其标记为 SQL。并指定您正在使用的 DBMS。
  • 是的,这只是整周(周一至周日),如日历所示。所有的星期都有一个星期一作为开始日期,一个星期日作为结束日期。
  • 我不明白你想做什么。为什么 06/08/2014 -> 06/15/2014 不在您的目标范围内?
  • Sun.06/01/2014Sat.06/07/2014 然后 Sun.05/25/2014Tue.07/01/2014 那么,有什么交易?如果你拿 2015 年的日历会更容易。
  • 天哪,你说得对,我不知道为什么我用 2014 年而不是 2015 年,我的错。为了回答 jac,我希望能够独立管理我的星期(在界面上单独显示)。

标签: sql


【解决方案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

【讨论】:

  • 嗯,其实就是这么简单。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 2011-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-03
相关资源
最近更新 更多