打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
工作记录1,sql:MySql如何从身份证号计算出用户年龄

MySql数据库,如何从身份证号计算出用户年龄?

编几个身份证号来举例

计算规则为先取出身份证上的年份并计算年份与当前年份的差,再比较当前日期与身份证上的月日(即判断此人是否已经过了国历生日),决定是否需要减去一岁,已经过了生日的就不用减掉了。

1.先处理出生年代与当前年份的差

1)身份证第7位开始,取4位数,是出生年份

substring()函数

substring(idcardaccount,7,4)

2)此时此刻的年份

now()函数,今天是2022-11-09 11:27

substring(now(),1,4),是2022年

3)做减法

substring(now(),1,4)-substring(idcardaccount,7,4)

2.再比较当前日期与身份证上的月日(即判断此人是否已经过了国历生日),决定是否需要减去一岁,已经过了生日的就不用减掉了

substring(id_number,11,4)-date_format(now(),'%m%d')>0

1)提取当前月份天数

date_format()函数

date_format(now(),'%m%d')

2)身份证上的月份天数,从第11位开始是出生月份,4位数表示,取四位

substring(idcardaccount,11,4)

3)做减法,计算月份天数差

date_format(now(),'%m%d')-substring(idcardaccount,11,4)

4)加限制条件,已经过了生日的不用减掉

date_format(now(),'%m%d')-substring(idcardaccount,11,4)>0

3.把年度、月日的计算,组合起来

最外层套一个括号,起个别名叫 "age"或者“年龄"

(substring(now(),1,4)-substring(idcardaccount,7,4)-(date_format(now(),'%m%d')-substring(idcardaccount,11,4)>0)) as "年龄"

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel之VBA常用功能应用篇:自动识别身份证号码获取性别、年龄、出生日期
退休时如何认定出生时间?不知道就亏大了!
用excel函数利用身份证信息提取出生年月性别年龄
如何利用excel快速从身份证中提取年龄?
MySQL函数大全 及用法示例
MySQL函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服