在两个表中查找重叠的日期范围

Norbx

我想检查集合中给定的日期范围是否与从数据库检索到的范围重叠。希望我能在一个查询中执行它。

如PostgreSQL文档中所述,OVERLAPS方法的用法如下:

SELECT ('2001-02-16', '2001-12-21') OVERLAPS
       ('2001-10-30', '2002-10-30');
Result: true

是否有可能提供OVERLAPS日期范围的集合?就像是:

SELECT ('2001-02-16', '2001-12-31'), ('2002-01-01', 2002-12-31), (...) OVERLAPS
       ('2001-10-30', '2002-10-30'), (...);
Result: true
Norbx

我想我可能会有部分答案。假设我有桌子t1

 starts_at  |  ends_at   
------------+------------
 2001-01-01 | 2001-01-02
 2001-01-05 | 2001-01-06
 2001-01-08 | 2001-01-09

我想检查是否在t1某些给定的日期范围之间发生了重叠的日期到目前为止,我已经成功解决了以下问题overlaps

WITH t2(starts_at, ends_at) AS(
  VALUES('2001-01-01'::DATE, '2001-01-05'::DATE),
        ('2001-01-12'::DATE, '2001-01-15'::DATE))
SELECT * 
FROM t1, t2
WHERE 
   t1.starts_at < t2.ends_at AND t1.ends_at >= t2.starts_at;

结果使我感到满意:

 starts_at  |  ends_at   | starts_at  |  ends_at   
------------+------------+------------+------------
 2001-01-01 | 2001-01-02 | 2001-01-01 | 2001-01-05
(1 row)

然后,如果存在任何行,我想在我的应用程序中引发异常。这是正确的方法吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用data.table函数foverlaps查找两个表中重叠范围的交集

来自分类Dev

查找两个间隔数据之间的重叠范围

来自分类Dev

检查是否有两个以上的日期范围重叠

来自分类Dev

MySQL检查两个日期范围是否与输入重叠

来自分类Dev

检查是否有两个以上的日期范围重叠

来自分类Dev

如何检查两个日期范围是否在mysql中重叠?

来自分类Dev

如何获取数据框中两个重叠日期之间的范围?

来自分类Dev

从R中的两个独立数据库计算每个重叠日期范围

来自分类Dev

在两个表的1个字段中查找重叠的数据[MySQL]

来自分类Dev

在 Google 表格中查找两个日期范围之间的值

来自分类Dev

两个列表中的非重叠日期时间

来自分类Dev

如何在SQL Server中的两个表中循环日期范围

来自分类Dev

SQL:如何按日期范围连接两个表

来自分类Dev

(Mysql) 按日期时间范围合并两个表

来自分类Dev

在两个表的日期范围内加入/合并

来自分类Dev

在Excel中的两个表中查找同一用户的匹配日期

来自分类Dev

oracle或db2中两个表之间的合并日期范围

来自分类Dev

在SQL中查找日期范围重叠的记录

来自分类Dev

在Python中查找两个日期之间的中点日期

来自分类Dev

从两个表中查找日期时间之间的时间间隔

来自分类Dev

从两个表中查找日期时间之间的时间间隔

来自分类Dev

查找两个范围的起点和终点所定义的重叠区域

来自分类Dev

查找两个范围的起点和终点所定义的重叠区域

来自分类Dev

日期范围在两个值之间的两个表的LINQ

来自分类Dev

通过比较两个日期范围是否重叠来进行Rails查询过滤

来自分类Dev

尝试使用R确定两个日期范围是否重叠

来自分类Dev

两个日期范围之间有多少小时重叠

来自分类Dev

如何查找与两个不同数据框和子集重叠的日期

来自分类Dev

从两个表中获取匹配数据,其中日期与日期范围 postgres 进行比较

Related 相关文章

  1. 1

    使用data.table函数foverlaps查找两个表中重叠范围的交集

  2. 2

    查找两个间隔数据之间的重叠范围

  3. 3

    检查是否有两个以上的日期范围重叠

  4. 4

    MySQL检查两个日期范围是否与输入重叠

  5. 5

    检查是否有两个以上的日期范围重叠

  6. 6

    如何检查两个日期范围是否在mysql中重叠?

  7. 7

    如何获取数据框中两个重叠日期之间的范围?

  8. 8

    从R中的两个独立数据库计算每个重叠日期范围

  9. 9

    在两个表的1个字段中查找重叠的数据[MySQL]

  10. 10

    在 Google 表格中查找两个日期范围之间的值

  11. 11

    两个列表中的非重叠日期时间

  12. 12

    如何在SQL Server中的两个表中循环日期范围

  13. 13

    SQL:如何按日期范围连接两个表

  14. 14

    (Mysql) 按日期时间范围合并两个表

  15. 15

    在两个表的日期范围内加入/合并

  16. 16

    在Excel中的两个表中查找同一用户的匹配日期

  17. 17

    oracle或db2中两个表之间的合并日期范围

  18. 18

    在SQL中查找日期范围重叠的记录

  19. 19

    在Python中查找两个日期之间的中点日期

  20. 20

    从两个表中查找日期时间之间的时间间隔

  21. 21

    从两个表中查找日期时间之间的时间间隔

  22. 22

    查找两个范围的起点和终点所定义的重叠区域

  23. 23

    查找两个范围的起点和终点所定义的重叠区域

  24. 24

    日期范围在两个值之间的两个表的LINQ

  25. 25

    通过比较两个日期范围是否重叠来进行Rails查询过滤

  26. 26

    尝试使用R确定两个日期范围是否重叠

  27. 27

    两个日期范围之间有多少小时重叠

  28. 28

    如何查找与两个不同数据框和子集重叠的日期

  29. 29

    从两个表中获取匹配数据,其中日期与日期范围 postgres 进行比较

热门标签

归档