gpt4 book ai didi

mysql - 检查日期范围是否在月份(日历)

转载 作者:行者123 更新时间:2023-11-29 01:54:44 26 4
gpt4 key购买 nike

我正在尝试使用 sql 检查日期范围(包括开始日期和结束日期)是否在一个月内(关于年份)。月份和年份被赋予变量(GET 变量)。

这是我的 table :

+----+------+-------+-----+
| id | name | start | end |
+----+------+-------+-----+

因为约会可能只有一个日期(开始和结束可能是同一天),所以我必须考虑这一点。

我的查询

SELECT 
id,
name,
start,
end
FROM appointments
WHERE (MONTH(start) = ? AND YEAR(end) = ?) OR (MONTH(start) = ? AND YEAR(end) = ?)
ORDER BY start

此查询的问题在于它只检查开始月份和结束月份,而不是两者之间的月份。例如,如果约会超过 5 个月,则此查询失败。

最佳答案

如果您想知道特定月份是否在范围内,那么我建议将日期转换为 YYYYMM 格式。这使得逻辑相对容易表达:

where ?*100 + ? between year(start)*100 + month(start) and
year(end)*100 + month(end)

关于mysql - 检查日期范围是否在月份(日历),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32298145/

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