Mysql根据身份证号码检出用户年龄 - 管理猿 2019 年 08 月 05 日 |访问: 1,578 次

数据库:mysql
数据库表:userinfo
字段及含义:username-用户名,realname-姓名, identity-身份证号码
根据身份证检出用户年龄,并筛选大于50岁的用户。

SELECT username,realname,identity,(DATE_FORMAT(CURDATE(),'%Y') -SUBSTRING(identity,7,4)) FROM userinfo WHERE (DATE_FORMAT(CURDATE(),'%Y') -SUBSTRING(identity,7,4)) >= "50" AND LENGTH(identity)="18";

参数分析
curdate()为系统当前时间

SELECT CURDATE();

QQ截图20190805134309.png
当前时间格式化,date_format(CURDATE(),'%Y%m%d'),注意格式化的M大小写返回的结果是有很大的区别
QQ截图20190805134613.png
提取证件号码的出生年龄 substring(identity,7,4),这段的意思是从字段identity中从左到右第7位开始,向右取4位的数据。
QQ截图20190805135050.png

标签:none

添加新评论