gpt4 book ai didi

mysql - 清理 MySQL 中当前月份和日期的 WHERE

转载 作者:行者123 更新时间:2023-11-30 00:14:49 25 4
gpt4 key购买 nike

是否有一种更清晰/更短/更易读的方法来为具有当前日期和月份组合的查询添加 WHERE 语句。

SELECT id, name, dob, (YEAR(NOW()) - YEAR(dob)) AS age 
FROM people
WHERE MONTH(dob) = MONTH(NOW()) AND DAY(dob) = DAY(NOW())

例如;

WHERE dob = THISDAY()

最佳答案

2 月 29 日出生的人通常会在第 60 天庆祝生日,无论日历日期如何(非闰年为 5 月 1 日)。

虽然不短,但这种方法并没有排除 2 月 29 日出生的人:

SELECT id, name, dob, (YEAR(NOW()) - YEAR(dob)) AS age 
FROM people
WHERE DAYOFYEAR(curdate()) =
DAYOFYEAR(DATE_ADD(dob, INTERVAL (YEAR(NOW()) - YEAR(dob)) YEAR))

闰年是没有像 DAYOFYEAR(curdate()) = DAYOFYEAR(dob) 这样的简单方法的原因。

关于mysql - 清理 MySQL 中当前月份和日期的 WHERE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23746095/

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