gpt4 book ai didi

MySQL : check date range

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

我们有这样的表结构

id | startDay | startMonth | startYear | endDay | endMonth | endYear    
1 | 22 | 12 | 2012 | 25 | 1 | 2013

现在我们有另一个日期范围,如 startDate、startMonth、startYear 即 25|12|2012 和 endDay、endMonth、endYear 即 10|1|2013

我希望查询从表中提供的日期范围所在的表中获取记录。在这种情况下表示先记录。
如何为此编写查询?

最佳答案

放弃这种结构,使用原生日期字段:

id start_date  end_date
1 2012-12-22 2013-1-25

然后你可以使用本地 mysql 日期/时间函数和比较,例如

SELECT id WHERE yourdate BETWEEN start_date AND end_date

不必使用极其丑陋的多级比较来正确比较这些零散的值:

SELECT id where YEAR(yourdate) < startYear OR (YEAR(yourdate) > startYear AND MONTH(yourdate) < startMOnth) etc... etc....etc..

关于MySQL : check date range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14016897/

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