千家信息网

Oracle函数获取IDCARD中年龄

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,IDCARD的第一代是15位号码,第二代是18位号码,新的18位IDCARD号码各位的含义:1-2位省、自治区、直辖市代码3-4位地级市、盟、自治州代码5-6位县、县级市、区代码7-14位出生年月日,
千家信息网最后更新 2025年02月02日Oracle函数获取IDCARD中年龄

IDCARD的第一代是15位号码,第二代是18位号码,

新的18位IDCARD号码各位的含义:1-2位省、自治区、直辖市代码

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

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

7-14位出生年月日,比如19670401代表1967年4月1日

15-17位为顺序号,其中17位男为单数,女为双数

18位为校验码,0-9和X,由公式随机产生。

15位IDCARD号码各位的含义: 1-2位省、自治区、直辖市代码;

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

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

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

13-15位为顺序号,其中15位男为单数,女为双数

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

从IDCARD中获取用户年龄信息,要对IDCARD合法性进行校验。


--判断是否为数字,返回True,FalseCREATE OR REPLACE FUNCTION DT_ISNUMBER(P_IN VARCHAR2) RETURN BOOLEAN AS  I NUMBER ;BEGIN  I := TO_NUMBER(P_IN);  RETURN TRUE;EXCEPTION  WHEN OTHERS THEN    RETURN FALSE;END;--判断是否为日期,返回True,FalseCREATE OR REPLACE FUNCTION DT_ISDATE(P_IN VARCHAR2) RETURN BOOLEAN AS  I DATE;BEGIN  I := TO_DATE(P_IN,'YYYYMMDD');  RETURN TRUE;EXCEPTION  WHEN OTHERS THEN    RETURN FALSE;END;--判断是否为合法的***号CREATE OR REPLACE FUNCTION DT_ISIDCARD(P_IDCARD VARCHAR2) RETURN BOOLEAN IS  IDCARDLEN INTEGER;BEGIN  IDCARDLEN := LENGTH(P_IDCARD);  IF (IDCARDLEN = 18 AND DT_ISNUMBER(SUBSTR(P_IDCARD, 1, IDCARDLEN - 1)) AND     DT_ISDATE(SUBSTR(P_IDCARD, 7, 8)) ) OR     (IDCARDLEN = 15 AND DT_ISNUMBER(SUBSTR(P_IDCARD, 1, IDCARDLEN)) AND     DT_ISDATE('19' || SUBSTR(P_IDCARD, 7, 6)) ) THEN    RETURN TRUE;    ELSE    RETURN FALSE;  END IF;END DT_ISIDCARD;--获取***号信息的年龄并返回CREATE OR REPLACE FUNCTION DT_GETAGE(P_IDCARD VARCHAR2) RETURN INTEGER ISIDCARDLEN INTEGER;IDCARDYEAR INTEGER;BEGIN   IDCARDLEN :=LENGTH(P_IDCARD);     IF DT_ISIDCARD(P_IDCARD) AND IDCARDLEN = 18 THEN     IDCARDYEAR := TO_NUMBER(SUBSTR(P_IDCARD,7,4));    END IF;  IF DT_ISIDCARD(P_IDCARD) AND IDCARDLEN = 15 THEN       IDCARDYEAR := TO_NUMBER('19'||SUBSTR(P_IDCARD,7,2));  END IF;  RETURN  TO_NUMBER(TO_CHAR(SYSDATE,'YYYY'))-IDCARDYEAR;       END DT_GETAGE;


以上针对***年龄获取常用函数做个记录,方便日后直接使用或者对***中其他地址、性别做进一步解析使用

(PS:为啥shenfenzheng这三个字要当做敏感信息被过滤掉了呢)

代码 号码 自治 年龄 信息 合法 代表 单数 双数 含义 地级 地级市 年月 年月日 直辖市 自治州 顺序 顺序号 县级市 自治区 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器配置查询解释 简单介绍国家网络安全宣传周 做机器人软件开发 网络安全人工智能论文在哪里下载 广州京远系统网络技术有限公司 暨南大学网络安全知乎 上级税务局网络安全调研 我的世界服务器管理员崩服指令 南京邮电网络安全专业分数线 天津发展软件开发单价 2000数据库无服务 对网络安全的感悟 私服传奇服务器 鼓瑟尔的礼物数据库文件 网络安全教育稿400 加强网络安全防范和宣传 福州互联网科技公司 深圳快一步软件开发有限公司 自己建云服务器地址 2022怀旧服最火的服务器 博雅数据库江西省高校录取分数线 莫纳克电梯如何用服务器调称重 乐学邦网络技术有限公司 网络安全法治学术论坛第二届 数据库可视化知识 科创板网络安全第一股 互联网无法连接服务器怎么调 软件开发怎么保证质量 网络安全训练营第39讲 ibm服务器内存板
0