gpt4 book ai didi

MySQL 从出生日期算起的年龄 - TIMESTAMPDIFF()

转载 作者:行者123 更新时间:2023-11-29 13:19:12 27 4
gpt4 key购买 nike

是的,之前已经问过非常类似的问题,但请耐心等待。

现在,人们提出了许多函数来根据出生日期确定准确的年龄,同时考虑闰年等因素。然而MySQL documentation提供了一个非常简单的解决方案:

SELECT TIMESTAMPDIFF(YEAR, dob, CURDATE()) AS 年龄

这似乎适用于我输入的所有日期。然而,该文档没有说明其正确性或如何计算差异。它似乎确实比简单的 diff/365.25 更智能。

以下是一些示例:

('1992-08-12', '3009-08-12') => 1017 - Correct
('1992-08-12', '3009-08-11') => 1016 - Correct
('1992-02-29', '3009-03-01') => 1017 - Correct
('1992-02-29', '3009-02-28') => 1016 - Correct

在我看来非常正确,而且对于轻微的误算来说,这需要很长的时间才能累积起来。

我的问题是,使用这个安全吗?您能否提供一组会给出错误结果的日期? (对小于一天的单位不感兴趣)

最佳答案

确实存在错误,但如果您有最新的 6 年左右的 MySQL 版本,您应该可以放心使用它:)

some earlier bugs e.g. month diff of dates:
TS1 = '2006-01-21 19:52:05'
TS2 = '2007-01-21 18:30:14'

which gave 0, and not 12.

http://bugs.mysql.com/bug.php?id=16697

http://bugs.mysql.com/bug.php?id=25994

关于MySQL 从出生日期算起的年龄 - TIMESTAMPDIFF(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21070742/

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