gpt4 book ai didi

php - 检查两个日期之间是否包含句点

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

我有一个像这样的 mysql 表:

   | ID | ID_period | date_start |  date_end  |
| 1 | 1 | 0000-07-01 | 0000-08-31 |
| 2 | 2 | 0000-09-01 | 0000-10-30 |
| 3 | 3 | 0000-11-01 | 0000-12-28 |
| 4 | 4 | 0000-11-01 | 0000-03-31 |

如何选择 0000/07/14 - 0000/08/25 期间包含的 ID?

date_start 和 date_end 列为 DATE 格式。

问题是,如果我搜索一个周期(包含和相交),即:从 0000-12-12 到 0000-01-25,我从选择中得到 0 条记录,我猜年份是 ' 0000'..我该如何修复它?

另一个问题是,如果我搜索像 11-01 到 12-31 这样的时间段,我会得到 0 个结果.. 因为 date_end 中 12 月的最后一天是 28.. 但如果我搜索 11-01 到 12-12 的时间段- 31 是因为我想要包含所有记录..所以我想获取 id=3 和 id=4 的记录

目前我使用以下查询:

SELECT ... WHERE '12' BETWEEN MONTH(date_start) and MONTH(date_end)
AND '15' BETWEEN DAY(date_start) and DAY(date_end)
AND '03' BETWEEN MONTH(date_start) and MONTH(date_end)
AND '28' BETWEEN DAY(date_start) and DAY(date_end)

最佳答案

SELECT  *
FROM mytable
WHERE date_start BETWEEN '0000-07-14' AND '0000-08-25'
OR date_end BETWEEN '0000-07-14' AND '0000-08-25'
OR (date_start<'0000-07-14' AND date_end>'0000-08-25')

关于php - 检查两个日期之间是否包含句点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13705717/

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