gpt4 book ai didi

mysql - 如何返回日期范围落在日期范围内的 SQL 行

转载 作者:行者123 更新时间:2023-11-29 22:11:13 24 4
gpt4 key购买 nike

当 start_date 和 end_date 期间完全或部分落在日期范围内时,我尝试返回 MySQL 行。

这是我目前正在使用的 SQL。

SELECT
start_date,
end_date,
id
FROM
employee_leave
WHERE
DATE(start_date) >= :start_date_range
AND DATE(end_date) <= :end_date_range;

这可以很好地返回完全位于指定范围内的行,但它也需要返回部分位于该范围内的行。

例如,开始日期范围 = 2015-07-04end_date_range = 2015-07-15

如果我有以下行,它们应该全部返回:

  1. 开始日期 = 2015-07-05,结束日期 = 2015-07-10
  2. 开始日期 = 2015-07-01,结束日期 = 2015-07-10
  3. 开始日期 = 2015-07-01,结束日期 = 2015-07-20
  4. 开始日期 = 2015-07-11,结束日期 = 2015-07-20

最佳答案

SELECT
start_date,
end_date,
id
FROM
employee_leave
WHERE
(DATE(start_date) >= :start_date_range AND DATE(start_date) <= :end_date_range)
OR
(DATE(end_date) >= :start_date_range AND DATE(end_date) <= :end_date_range);

关于mysql - 如何返回日期范围落在日期范围内的 SQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31647506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com