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

4c8rllxm  于 10个月前  发布在  其他
关注(0)|答案(1)|浏览(93)

概述:

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

目标:

显示给定周的事件,其中包括在该周内开始和结束的事件,但也可以在该周内发生(其开始/结束日期可以在该周内或在该周之前开始和之后结束)。预期结果示例:

  • 考虑到7月16日至7月22日的一周,结果将包括以下事件:
  • 7月16日、7月19日或7月22日开始和结束
  • 从7月10日到7月19日
  • 从7月19日到7月26日
  • 从7月4日到7月30日

我尝试过使用BETWEENstart > {$week_start} AND end < {$week_end}的查询,但这两种查询都不能解释“重叠”日期。

Question是否可以编写一个包含所有这些场景的查询?

FWIW -如果有更好的解决方案,我愿意用时间戳以外的东西来写日期:)

ryhaxcpt

ryhaxcpt1#

你要找的逻辑是
开始<= {$week_end}和结束>= {$week_start}

相关问题