gpt4 book ai didi

MySQL 获取出生日期/生日的下一个实例

转载 作者:行者123 更新时间:2023-11-29 15:20:06 25 4
gpt4 key购买 nike

我试图根据出生日期在 MySQL 中查找日期的下一个实例 - 例如,如果出生日期是 1975-12-20 并且我们今天运行它,那么下一个生日是 2020-12-20。

同样,如果出生日期为 1975-12-19,则下一个生日为 2020-12-19,但如果出生日期为 1975-12-21,则下一个生日为 2019-12-21。

我可以在 PHP 中通过分解日期并替换年份来完成此操作,但我想尝试在 MySQL 中执行此操作,因为它运行起来会更快

DOB 是日期字段 0000-00-00

我找到了How to calculate next birthday given a date of birth?对于postgressql,我认为它可以工作,但它使用了一个名为age的函数,该函数似乎在MySQL中不起作用

最佳答案

您可以按如下方式进行日期算术:

dob
+ interval (
year(curdate())
- year(dob)
+ (dayofyear(curdate()) > dayofyear(dob))
) year

基本上,这取当前日期和出生年份之间的差值,如果当前年份的生日是过去的,则加 1。这为您提供了要添加到下一个生日的出生年数。

当到 2 月 29 日时,上述表达式将返回非闰年的 2 月 28 日。

关于MySQL 获取出生日期/生日的下一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59423789/

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