本文介绍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语句日期函数,本文就介绍这么多,希望对大家有所帮助,谢谢!
要饭二维码
洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!
文章的版权
本文属于“洪哥笔记”原创文章,转载请注明来源地址:MySQL中根据生日计算年龄的SQL语句日期函数:http://www.splaybow.com/post/mysql-date-function-birthday.html
如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D!
发布时间:2013/10/1 10:13:03 | 编辑:小小菜鸟 | 分类:MySQL | 浏览: