MySQL中根据生日计算年龄的SQL语句日期函数


关键词

MySQL SQL 函数

摘要

本文介绍MySQL数据库中,有一个生日字段,怎么通过这个生日字段来得到年龄大小。这里将会使用了MySQL日期处理函数。

本文介绍MySQL数据库中,有一个生日字段,怎么通过这个生日字段来得到年龄大小。这里将会使用了MySQL日期处理函数。

先看看当前表中的信息:

mysql> select t_name,t_birth from test;
+--------+------------+
| t_name | t_birth    |
+--------+------------+
| name1  | 1990-01-01 |
| name2  | 2013-01-01 |
+--------+------------+
2 rows in set (0.00 sec)

从这个查询结果可以看出,name1这条记录的出生日期是1990-01-01,那下面我们来计算一下它的年龄。

mysql> SELECT t_name, t_birth, CURDATE(),  (YEAR(CURDATE())-YEAR(t_birth))-(RIGHT(CURDATE(),5) +--------+------------+------------+------+
| t_name | t_birth    | CURDATE()  | age  |
+--------+------------+------------+------+
| name1  | 1990-01-01 | 2013-09-27 |   23 |
| name2  | 2013-01-01 | 2013-09-27 |    0 |
+--------+------------+------------+------+
2 rows in set (0.09 sec)

此处,YEAR()提取日期的年部分,RIGHT()提取日期的MM-DD (日历年)部分的最右面5个字符。比较MM-DD值的表达式部分的值一般为1或0,如果CURDATE()的年比birth的年早,则年份应减去1。整个表达式有些难懂,使用alias (age)来使输出的列标记更有意义。
好了,年龄已经计算出来了。

关于MySQL中根据生日计算年龄的SQL语句日期函数,本文就介绍这么多,希望对大家有所帮助,谢谢!

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权


如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« MySQL中给表添加一个自动增长字段(auto_increment) MySQL删除表中的一个字段 »