【发布时间】:2020-06-21 22:25:20
【问题描述】:
抱歉我的英语不好,但我在检查重复日期时遇到了问题。
我有一个列表日期,包括数据库中的 from_date 和 to_date,我想检查如下:
在数据库中:
from_date | end_date
-------------------------
2020/02/10 | 2020/02/15
-------------------------
2020/01/20 | 2020/01/31
-------------------------
2020/02/16 | NULL
-------------------------
输入:
input['from'] = 2020/01/15;
input['to'] = 2020/01/25;
input['from'] = 2020/01/10;
input['to'] = NULL;
NULL 表示之后的日期不受限制。
条件:
检查 input[from] 和 input[to] 是否与数据库中的另一个范围重叠。
在这种情况下:
输入无效: 因为
2020/01/15 - 2020/01/25 的日期与 2020/01/20 - 2020/01/31 的范围重叠
2020/01/10 的日期 - NULL 与 2020/02/16 的范围重叠 - NULL
有效案例:
- 2020/02/01 - 2020/02/09
- 2020/01/10 - 2020/01/19
【问题讨论】: