我有一个带有日期范围的表格。我想找出它是否与另一个范围重叠并计算重叠的天数。
尝试在mysql中执行此操作,而无需在前端语言PHP中通过循环。
id | start_date | end_date
1 | 2019-01-02 | 2019-01-07
2 | 2019-01-03 | 2019-01-03
3 | 2019-01-06 | 2019-01-09
日期范围 start = 2019-01-04
, 日期范围 end = 2019-01-07
随着日期在format YYYY-MM-DD
希望最终结果是:
id | start_date | end_date | total_days
1 | 2019-01-02 | 2019-01-07 | 4
2 | 2019-01-03 | 2019-01-03 | 0
3 | 2019-01-05 | 2019-01-09 | 3
尝试使用 MySQL DATEDIFF(( 函数:
MySQL DATEDIFF(( 返回两个日期之间的天数或 日期时间。此函数仅计算每个日期部分 表达。
DATEDIFF(expr1,expr2);
单击此处查找示例