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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了