• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

MySql 海叔叔 1个月前 (05-25) 16次浏览 已收录 0个评论

关键词
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语句日期函数,本文就介绍这么多,希望对大家有所帮助,谢谢!


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址