相关疑难解决方法(0)

确定两个日期范围是否重叠

给定两个日期范围,确定两个日期范围是否重叠的最简单或最有效的方法是什么?

举个例子,假设我们有通过日期时间变量表示的范围StartDate1EndDate1 StartDate2EndDate2.

language-agnostic math datetime

1180
推荐指数
16
解决办法
38万
查看次数

检查表格的时间重叠?

我有一个包含以下字段的MySQL表:

  • 名称
  • 开始时间
  • 时间结束

starttime并且endtime是MySQL TIME字段(不是DATETIME).我需要一种定期"扫描"表格的方法,以查看表格中的时间范围是否有任何重叠.如果有来自10:00-11:00和来自的事件10:30-11:30,我希望被警告存在时间重叠.

没什么好看的,我想知道是否存在重叠.

我将使用PHP来执行此操作.

mysql sql time range overlap

17
推荐指数
1
解决办法
9535
查看次数

如何在 SQL 中选择重叠的日期范围

我有一个包含以下列的表:sID、start_date 和 end_date

其中一些值如下:

1   1995-07-28  2003-07-20 
1   2003-07-21  2010-05-04 
1   2010-05-03  2010-05-03 
2   1960-01-01  2011-03-01 
2   2011-03-02  2012-03-13 
2   2012-03-12  2012-10-21 
2   2012-10-22  2012-11-08 
3   2003-07-23  2010-05-02
Run Code Online (Sandbox Code Playgroud)

我只想要结果中的第 2 行和第 3 行,因为它们是重叠的日期范围。

我试过这个,但它不会摆脱第一行。不知道我哪里出错了?

select a.sID from table a
inner join table b 
on a.sID = b.sID
and ((b.start_date between a.start_date and a.end_date)
and (b.end_date between a.start_date and b.end_date ))
order by end_date desc
Run Code Online (Sandbox Code Playgroud)

我正在尝试在 SQL Server 中做

sql sql-server join

2
推荐指数
2
解决办法
7641
查看次数

标签 统计

sql ×2

datetime ×1

join ×1

language-agnostic ×1

math ×1

mysql ×1

overlap ×1

range ×1

sql-server ×1

time ×1