身份证的组成和结构:

18位的居民身份证号:
1.号码的结构
公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。

排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
2.地址码
表示编码对象常住户口所在县(市、旗、区)的行政区划代码。
3.出生日期码
表示编码对象出生的年、月、日。
4.顺序码
表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
5.校验码
根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。

15位的居民身份证号:

1-2位省、自治区、直辖市代码;

3-4位地级市、盟、自治州代码;

5-6位县、县级市、区代码;

7-12位出生年月日,比如670401代表1967年4月1日,与18位的第一个区别;

13-15位为顺序号,其中15位男为奇数,女为偶数;

与18位身份证号的第二个区别:没有最后一位的验证码。

举例:

130503 670401 001的含义; 13为河北,05为邢台,03为桥西区,出生日期为1967年4月1日,顺序号为001。

SQL如下:

select id_no,   id_no,case when length(id_no) = 18 then floor(datediff( from_unixtime(unix_timestamp(),'yyyy-MM-dd'),concat_ws('-',substr(id_no,7,4),substr(id_no,11,2),substr(id_no,13,2)))/365)when length(id_no) = 15 then floor(datediff( from_unixtime(unix_timestamp(),'yyyy-MM-dd'),concat('19',substr(id_no,7,2),'-', substr(id_no,9,2),'-', substr(id_no,11,2)))/365 ) else null end as age,case when length(id_no) = 18 then  case when substr(id_no,17,1)%2 = 0 then 'F' when substr(id_no,17,1)%2 <> 0 then 'M' else null endwhen length(id_no) = 15 then  case when substr(id_no,15)%2 = 0 then 'F' when substr(id_no,15)%2 <> 0 then 'M' else null end else null end as sex
from test_table
year(from_unixtime(unix_timestamp(),"yyyy-MM-dd")) - year(to_date(from_unixtime(unix_timestamp(substr(usr_id_card,7,8),'yyyyMMdd'),'yyyy-MM-dd')))

Hive提取身份证号中年龄和性别相关推荐

  1. 利用python获取身份证号中年龄和性别信息

    import datetime class GetInformation(object):def __init__(self,id):self.id = idself.birth_year = int ...

  2. 通过身份证号得到年龄、性别和出生日期

    注:目前只针对18位身份证号码. 不多说了,直接上代码,调用IdCard(UUserCard,num)方法即可,其中UUserCard为身份 //通过身份证号计算年龄.性别.出生日期 function ...

  3. js前端通过身份证号判断年龄、性别、出生日期。

    方法有两个参数,第一个形参传身份证号,第二个形参传num. num=1 代表返回出生日期. num=2代表返回性别. num=3代表返回年龄. //通过身份证号计算年龄.性别.出生日期 functio ...

  4. 前端原生javaScript,通过身份证号判断年龄、性别、出生日期。

    方法有两个参数,第一个形参传身份证号,第二个形参传num. num=1 代表返回出生日期. num=2代表返回性别. num=3代表返回年龄. //通过身份证号计算年龄.性别.出生日期 functio ...

  5. python 根据身份证号计算年龄和性别_excel如何根据身份证号计算男女出生日期、性别和年龄?分享了!...

    工作中,有时需要从身份证号中提取性别.出生日期.年龄等.如果手工统计,不仅容易出错,还耗时耗力.春暖花开的时候,有那时间不如出去踏青散步,赏花游玩. 下面小编为大家分享一种方法,使用Excel函数轻松 ...

  6. excel提取身份证出生日期_用Excel提取身份证号的年龄,不满生日的减一岁

    在人事工作中,经常需要根据身份证号来提取信息,最经典的就是要用身份证号来提取年龄,我们举例,下表是模拟的公司员工身份证号数据 1.简单提取年龄 我们知道身份证号的第7-14位是我们出生的年月日,我们可 ...

  7. Vue中根据输入的身份证号识别年龄、性别

    需求: 根据用户输入的身份证号识别出年龄和性别,回显到相应的输入框中 分析:定义身份证号的正则表达式,利用字符串的方法截取出相关字符进行判断 示例: <template> <div ...

  8. C语言 身份证号解析年龄和性别

    任务描述 编写一个程序:输入一个身份证号,判断该号码对应的人是否是18至25岁女孩,是则输出"yes",否则输出"no" 功能要求 ①输入一行给出正整数N(&l ...

  9. Js--根据身份证号计算年龄、性别、出生年月日

    根据身份证号获取生日 export function getBirthdayByIdCard(idCard: string): string {if (idCard.length === 15) {r ...

  10. 根据身份证号获取年龄和性别

    public static void main(String[] args) {judgeGender("身份证号");countAge("身份证号");}/* ...

最新文章

  1. JS window对象 Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。...
  2. git 修改全局配置
  3. JVM(2)--一文读懂垃圾回收
  4. hive 导出json格式 文件_hive存储json格式文件
  5. 硬盘计算机类比推理,判断推理类比推理:储存:光盘:硬盘 A:晾晒:绳索:衣架 B.吃...
  6. 五、工作量证明链解决拜占庭将军问题之模拟程序(Objective-C)
  7. 互联网企业的电子商务社区会员模式浅谈
  8. C语言实现http的下载
  9. 按钮控制android progressbar,Android ProgressBar手动控制开始和停止
  10. [渝粤教育] 武汉理工大学 数字信号处理 参考 资料
  11. 学生信息管理系统--毕业论文
  12. BAT算法工程师的成长之路,超详细的学习路线
  13. 布谷鸟算法的一些个人整理
  14. java实现pdf黑白化 : pdf转图片、图片黑白化、图片转pdf
  15. 怎么设置浏览器默认搜索引擎,设置默认搜索引擎的方法步骤
  16. html5 gif 只播放一次,使用JS和canvas实现gif动图的停止和播放代码
  17. NLP会议介绍 2019
  18. SAP 移动价(V)与标准价(S)
  19. 6翻了 (15 分)
  20. JDBC-通用查询功能

热门文章

  1. lsyncd搭建和使用(含rsync配置)
  2. python——金融商品多种均线指标综合运用模拟实现(MACD模型)
  3. 中点和中值滤波的区别_【传感器融合】扩展卡尔曼滤波的逐步理解与实现(上)...
  4. 微表情识别 · 读脸读心满分答案
  5. ZJ-笔记本风扇异响
  6. c++算法解决力扣跳步问题
  7. 面试高频智力题 100层楼两个鸡蛋找出临界点的最多次数 (直接分析法,非动态规划思路)
  8. 信了你的邪之杭电1005
  9. java rrd_rrd4j的基本介绍和使用
  10. python自学课堂_python自学——列表