gpt4 book ai didi

mysql根据两列获取两个日期之间的行

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

我的表有这样的结构

id | date_birth | date_marriage
1 | 1970-01-24 | 2000-05-14
2 | 1979-05-08 | 2008-08-12

如何在mysql中获取上述数据的两个日期之间的事件(日期比较与年份无关)。例如,如果开始日期是 2014-05-01,结束日期是 2014-05-20,那么输出应该是

id | event
1 | married on 2000-05-14
2 | born on 1979-05-08

更新:如果结婚日期和出生日期都在为同一个人提供的日期范围内,则输出应包含该人的两列

(抱歉我的英语不好)

最佳答案

作为对您的评论的回应,如果使用 union 匹配任一日期,您可以获得两行。

您可以通过转换为不包含年份的格式来检查日期而不考虑年份,例如 %m%d。请注意,格式应该是可排序的(最重要的数字在前)以便进行比较。

select  *
from YourTable
where date_format(date_birth,'%m%d') between '0501' and '0520'
union all
select *
from YourTable
where date_format(date_marriage,'%m%d') between '0501' and '0520'

关于mysql根据两列获取两个日期之间的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25951907/

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