我知道有很多类似的问题,但是我没有看到一个足够符合我的条件。所以我想请你帮忙。我拥有的字段只是开始时间和结束时间,它们都是时间类型。我不能涉及任何具体日期。如果时间范围不跨越午夜,我会像这样比较两个元组:
end1 > start2 AND start1 < end2
(这里不考虑端点相接的情况)
但是当我涉及跨越午夜的时间范围时,这显然行不通。例如,给定:
start | end
--------+--------
06:00PM | 01:00AM
03:00PM | 09:00PM
请不要涉及日期,我该如何实现这一点。我的假设是,如果结束时间小于开始时间,则涉及2天。
我正在尝试在纯标准 SQL 中完成此操作,因此只需在 WHERE 子句中使用简单而简洁的逻辑即可。
谢谢大家!
补充:
另外,我该如何测试一个时间范围是否完全包含另一个时间范围?再次感谢!
oracle
,mysql
,sql-server
,...)来改进您的问题。 - Peter Lang