【发布时间】:2019-10-18 08:19:14
【问题描述】:
我有一张客户表,上面有客户到达的日期和客户离开的日期。
我想选择哪些客户在 2019 年 10 月 18 日至 2019 年 10 月 22 日之间至少入住一天。 例如: 我有:
Client Arrive Depart
1 16-10-2019 18-10-2019
2 16-10-2019 17-10-2019
3 21-10-2019 30-10-2019
我想要:
Client Arrive Depart
1 16-10-2019 18-10-2019
3 21-10-2019 30-10-2019
我试过这个: 从 cl_Arrive 介于“18/10/2019”和“22/10/2019”之间的客户中选择 *
但是像这样我没有考虑出发日期。
【问题讨论】:
-
让帮助您成为可能:minimal reproducible example.
-
您使用的是哪个 dbms? (在日期/时间方面,许多产品远不符合 ANSI SQL。)
-
这个问题似乎根本没有包括任何解决问题的尝试。请编辑问题以显示您尝试过的内容,并使用Minimal, Complete, and Verifiable example 显示您遇到的特定障碍。欲了解更多信息,请参阅How to Ask。
-
使用 Postgres 就像
where daterange(arrive, depart, '[]') && daterange(date '2019-10-2019', date '2019-10-22', '[]')一样简单——您使用的是哪个 DBMS 产品?