MySQL根据身份证号码计算出生日期和年龄

中国大陆的18位身份证号码中第7到第14位表示出生日期,格式为 YYYYMMDD。

提取并转换为 DATE 类型:

复制代码
SELECT 
    id_card,
    STR_TO_DATE(SUBSTRING(id_card, 7, 8), '%Y%m%d') AS birth_date
FROM users;

在 MySQL 中,从身份证号提取出生日期后计算当前年龄(整岁),最推荐、最准确的方式是使用 TIMESTAMPDIFF() 函数,它能精确处理闰年、月份天数差异等问题。

计算年龄:

复制代码
SELECT 
    TIMESTAMPDIFF(YEAR, 
        STR_TO_DATE(SUBSTRING(id_card, 7, 8), '%Y%m%d'), 
        CURDATE()
    ) AS age
FROM your_table;
相关推荐
二宝哥1 小时前
02.springboot项目对接国内模型实现对话聊天
数据库·人工智能·spring boot
秦时明月之君临天下1 小时前
MySQL purge 参数详解:innodb_purge_threads 与 innodb_purge_batch_size
数据库·mysql·1024程序员节
三垣网安2 小时前
某某大学心理健康教育平台弱口令及SQL注入漏洞
数据库·sql
打工仔折腾 AI2 小时前
AI Agent 工程化实战(二):5 分钟跑通 Deep Agent 并逐层拆解底层链路
java·数据库·人工智能·后端·python·langchain·ai agent 实战
Shaoshing2 小时前
MySQL视图
数据库
努力努力再努力wz2 小时前
【C++ 高阶系列】C++ 高性能网络编程:当 Reactor 遇见协程:从 epoll 回调到异步 MySQL,彻底打通任务挂起与恢复
网络·c++·mysql
这个DBA有点耶3 小时前
测试全绿,上线三周数据没入账——那个95%的兼容度报告,漏掉的是边界
数据库·mysql·架构
1024奇点3 小时前
【仓颉语言入门 · 第二篇 第 15 课】
开发语言·数据库·ide·开源
疯狂学习GIS3 小时前
将谷歌地球引擎账号升级为Contributor与Partner层级的方法
java·数据库·人工智能
gf13211113 小时前
python_高德地图驾车时长查询
数据库·python·mysql