mysql 使用SQL语句,根据数据库生日字段计算用户年龄
1.第一种
select 表名.*, ROUND(DATEDIFF(CURDATE(), birthday)/365.2422) as age from userinfo
其中DATEDIFF() 函数用来计算两个参数间的相差天数
CURDATE()是返回“YY-MM-DD”格式的当前日期
birthday是以“YY-MM-DD”这个格式存储的生日日期
得到相差天数之后再做一个除以365.2422天
如果要求整数的话就多加个ROUND()
2.第二种
时间差函数:timestampdiff
MySQL
语法: timestampdiff(unit,begin,end)
begin和end可以为DATE或DATETIME类型,并且可允许参数为混合类型。
unit参数是确定(end-begin)时间差的单位
| 单位 | UNIT对应 |
|---|---|
| 毫秒 | |
| 秒 | second |
| 分钟 | minute |
| 小时 | hour |
| 天 | day |
| 周 | week |
| 月 | month |
| 季 | quarter |
| 年 | year |
| 例子:根据birthday字段计算年龄: |
select timestampdiff(year,CURRENT_DATE,birthday)

浙公网安备 33010602011771号