mysql根据出生日期算每个人年龄

网上面列举了很多方法,但是也都各自说明了一下弊端在哪里,所以我这里只记录其中我认为最好的一个,

SELECT  TIMESTAMPDIFF(YEAR, @birthday, CURDATE())

算是最佳方法,暂时.涉及到两个函数.

这里也说明一下第一个函数TIMESTAMPDIFF()是如何使用的.

TIMESTAMPDIFF用法: 
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。 

 

mysql> SELECT TIMESTAMPDIFF(MONTH,'2009-12-01','2009-09-01'); 
mysql> SELECT TIMESTAMPDIFF(YEAR,'2009-05-01','2008-01-01'); 

select TIMESTAMPDIFF(SECOND,DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s'),'2013-03-07 15:43:00') 
from dual

SELECT DATE_FORMAT(MIN(entertime),'%Y-%m-%d') as startDt, DATE_FORMAT(MAX(entertime), '%Y-%m-%d') as endDt
FROM table

下面是可以放那些值:

  1. FRAC_SECOND。表示间隔是毫秒
  2. SECOND。秒
  3. MINUTE。分钟
  4. HOUR。小时
  5. DAY。天
  6. WEEK。星期
  7. MONTH。月
  8. QUARTER。季度
  9. YEAR。年

SELECTTIMESTAMPDIFF(YEAR, @birthday, CURDATE())

posted @   哩个啷个波  阅读(656)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示