首页 >数据库 >mysql教程 >如何使用 MySQL 从出生日期计算年龄?

如何使用 MySQL 从出生日期计算年龄?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-16 11:53:58975浏览

How to Calculate Age from a Date of Birth Using MySQL?

利用MySQL (InnoDB)计算年龄

本文介绍如何使用MySQL的TIMESTAMPDIFF函数根据数据库中存储的出生日期计算年龄。

问题:

假设出生日期以'dd-mm-yyyy'格式存储,我们需要确定:

  • 日期相减后返回日期的格式。
  • 如何使用返回的格式计算一个人的年龄。

解决方案:

日期格式:

MySQL将当前日期减去另一个日期后返回的日期格式为默认的MySQL日期时间格式:YYYY-MM-DD HH:MM:SS。

计算年龄:

我们可以使用TIMESTAMPDIFF函数计算两个日期在不同单位(包括年)上的差值。示例如下:

<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age;</code>

此查询计算1970年2月1日与当前日期之间的差值,并以年为单位返回年龄。

示例:

考虑一个表,其中包含一个名为'date_of_birth'的列,格式为'dd-mm-yyyy':

<code class="language-sql">CREATE TABLE persons (
  id INT PRIMARY KEY,
  name VARCHAR(255),
  date_of_birth DATE
);

INSERT INTO persons (name, date_of_birth) VALUES
  ('John Doe', '1970-02-01'),
  ('Jane Doe', '1975-04-15');</code>

要计算'John Doe'的年龄,我们将运行以下查询:

<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS age
FROM persons
WHERE name = 'John Doe';</code>

此查询将返回结果:

<code>age
51</code>

以上是如何使用 MySQL 从出生日期计算年龄?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn