搜索

首页  >  问答  >  正文

查询SQL表中在范围内开始/结束的日期,以及属于该范围但开始在范围之前/之后的日期

概述:

我有一个SQL数据库表,每行(事件)都包含格式为时间戳的开始和结束日期。

目标:

显示给定周的事件,这些事件包括在该周内开始和结束的事件,但也可能在该周内进行(它们的开始/结束日期可能在该周内,也可能在该周之前开始并在该周之后结束)。期望结果的示例:

我已尝试使用BETWEEN查询和使用start > {$week_start} AND end < {$week_end}的查询,但这两种方法都无法考虑到“重叠”日期。

问题:是否有可能编写一个包含所有这些情况的单个查询?

顺便说一句,如果有更好的解决方案,我可以接受使用除时间戳之外的日期格式。

P粉147747637P粉147747637541 天前678

全部回复(1)我来回复

  • P粉222320176

    P粉2223201762023-07-22 00:35:31

    你要寻找的逻辑是:

    start <= {$week_end} AND end >= {$week_start}

    回复
    0
  • 取消回复