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;
相关推荐
九皇叔叔8 小时前
【第二章】Redis基础入门:Redis是什么、为什么快以及核心特性详解
数据库·redis·缓存
莫陌尛.8 小时前
Docker MySQL 删表卡死、执行超时(MDL锁阻塞)问题复盘与根治方案
mysql·docker·容器
云和恩墨8 小时前
删库不跑路,回滚极速触达——zData S“旁路日志”持续保护原理深剖
数据库
MetaLite8 小时前
SpringBoot接口分层规范-外网网关内部服务与参数边界
java·数据库·spring boot
Wang's Blog10 小时前
Java框架快速入门: Spring Security+OAuth2之元注解简化权限表达式
java·数据库·spring
毕业设计70311 小时前
(免费领源码) 基于微信小程序的预制菜商城的设计与实现25172-java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·python·mysql·微信小程序·pycharm·微信开发者工具·推荐算法
蓝速科技12 小时前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
QYR-分析12 小时前
重轨受电弓行业深度报告:市场格局、技术迭代与发展前景
大数据·数据库·人工智能
泡泡鱼(敲代码中)13 小时前
MySQL基础学习笔记:从数据模型到DDL全掌握
开发语言·数据库·笔记·学习·mysql
l1t13 小时前
DeepSeek总结的chdb-core v26.7.3发版说明
数据库·clickhouse·oracle