SQL语句通过身份证号计算年龄 您所在的位置:网站首页 身份证号码计算年龄公式精确到月 SQL语句通过身份证号计算年龄

SQL语句通过身份证号计算年龄

2024-02-01 22:09| 来源: 网络整理| 查看: 265

SQL语句通过身份证号计算年龄 1.截取身份证号上的出生日期

身份证一般为18位数和15位数 18位数身份证的第7-10位数是出生年份,第11-14位数是出生月日,所以18位身份证的年龄计算如下

substring(now(),1,4)-substring(idcard,7,4))-(substring(idcard,11,4)-date_format(now(),'%m%d')>0

15位数身份证的第7-8位数是出生年份,但是少了两位。15位数身份证把1930就简化成30少了前面的19,并且15位身份证全部都在19XX年颁发。 第9-12位数是出生月日,所以15位身份证的年龄计算如下

substring(now(),1,4)-(1900+substring(idcard,7,2)))-(substring(idcard,9,4)-date_format(now(),'%m%d')>0 2.加if判断18位和15位

MySQL的if语法比较像JAVA里的三元表达式

IF(条件,条件为true执行,条件为false执行)

MySQL的字符串长度获取方法

CHAR_LENGTH(字符串) 3.最终的sql语句 select id, if (CHAR_LENGTH(idcard)0),(substring(now(),1,4)-substring(idcard,7,4))-(substring(idcard,11,4)-date_format(now(),'%m%d')>0)) as age, idcard from t_table;


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有