Hive提取身份证号中年龄和性别
身份证的组成和结构:
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提取身份证号中年龄和性别相关推荐
- 利用python获取身份证号中年龄和性别信息
import datetime class GetInformation(object):def __init__(self,id):self.id = idself.birth_year = int ...
- 通过身份证号得到年龄、性别和出生日期
注:目前只针对18位身份证号码. 不多说了,直接上代码,调用IdCard(UUserCard,num)方法即可,其中UUserCard为身份 //通过身份证号计算年龄.性别.出生日期 function ...
- js前端通过身份证号判断年龄、性别、出生日期。
方法有两个参数,第一个形参传身份证号,第二个形参传num. num=1 代表返回出生日期. num=2代表返回性别. num=3代表返回年龄. //通过身份证号计算年龄.性别.出生日期 functio ...
- 前端原生javaScript,通过身份证号判断年龄、性别、出生日期。
方法有两个参数,第一个形参传身份证号,第二个形参传num. num=1 代表返回出生日期. num=2代表返回性别. num=3代表返回年龄. //通过身份证号计算年龄.性别.出生日期 functio ...
- python 根据身份证号计算年龄和性别_excel如何根据身份证号计算男女出生日期、性别和年龄?分享了!...
工作中,有时需要从身份证号中提取性别.出生日期.年龄等.如果手工统计,不仅容易出错,还耗时耗力.春暖花开的时候,有那时间不如出去踏青散步,赏花游玩. 下面小编为大家分享一种方法,使用Excel函数轻松 ...
- excel提取身份证出生日期_用Excel提取身份证号的年龄,不满生日的减一岁
在人事工作中,经常需要根据身份证号来提取信息,最经典的就是要用身份证号来提取年龄,我们举例,下表是模拟的公司员工身份证号数据 1.简单提取年龄 我们知道身份证号的第7-14位是我们出生的年月日,我们可 ...
- Vue中根据输入的身份证号识别年龄、性别
需求: 根据用户输入的身份证号识别出年龄和性别,回显到相应的输入框中 分析:定义身份证号的正则表达式,利用字符串的方法截取出相关字符进行判断 示例: <template> <div ...
- C语言 身份证号解析年龄和性别
任务描述 编写一个程序:输入一个身份证号,判断该号码对应的人是否是18至25岁女孩,是则输出"yes",否则输出"no" 功能要求 ①输入一行给出正整数N(&l ...
- Js--根据身份证号计算年龄、性别、出生年月日
根据身份证号获取生日 export function getBirthdayByIdCard(idCard: string): string {if (idCard.length === 15) {r ...
- 根据身份证号获取年龄和性别
public static void main(String[] args) {judgeGender("身份证号");countAge("身份证号");}/* ...
最新文章
- JS window对象 Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。...
- git 修改全局配置
- JVM(2)--一文读懂垃圾回收
- hive 导出json格式 文件_hive存储json格式文件
- 硬盘计算机类比推理,判断推理类比推理:储存:光盘:硬盘
A:晾晒:绳索:衣架
B.吃...
- 五、工作量证明链解决拜占庭将军问题之模拟程序(Objective-C)
- 互联网企业的电子商务社区会员模式浅谈
- C语言实现http的下载
- 按钮控制android progressbar,Android ProgressBar手动控制开始和停止
- [渝粤教育] 武汉理工大学 数字信号处理 参考 资料
- 学生信息管理系统--毕业论文
- BAT算法工程师的成长之路,超详细的学习路线
- 布谷鸟算法的一些个人整理
- java实现pdf黑白化 : pdf转图片、图片黑白化、图片转pdf
- 怎么设置浏览器默认搜索引擎,设置默认搜索引擎的方法步骤
- html5 gif 只播放一次,使用JS和canvas实现gif动图的停止和播放代码
- NLP会议介绍 2019
- SAP 移动价(V)与标准价(S)
- 6翻了 (15 分)
- JDBC-通用查询功能
热门文章
- lsyncd搭建和使用(含rsync配置)
- python——金融商品多种均线指标综合运用模拟实现(MACD模型)
- 中点和中值滤波的区别_【传感器融合】扩展卡尔曼滤波的逐步理解与实现(上)...
- 微表情识别 · 读脸读心满分答案
- ZJ-笔记本风扇异响
- c++算法解决力扣跳步问题
- 面试高频智力题 100层楼两个鸡蛋找出临界点的最多次数 (直接分析法,非动态规划思路)
- 信了你的邪之杭电1005
- java rrd_rrd4j的基本介绍和使用
- python自学课堂_python自学——列表