oracle 导出身份证号_ORACLE对身份证号码处理相关的SQL【收藏】

/*ORACLE对身份证号码处理相关的SQL汇总

身份证号码算法及应用场景:

工作实践总结,与大家分享快乐,并请高人批评指正,努力改进:

目前我国大量存在着正在有效期的15位身份证,虽然国家在推行二代身份证,但尚未发现强行要求全国人民更换未到期的15位身份证的官方声明或公告。

扯远了:),总之合法的15位身份证号码将在今后一段时间内继续存在下去。

另外,项目中往往有着大量的历史数据,我们的一个系统中15位身份证所占比重很大,因此系统必须实现对两套身份证编码的职能处理,并支持另外一种特殊证件类型:军官证/警官证。本文重点讨论15位/18位身份证的处理问题

众所周知,我们现执行的身份证号码编码由公安部具体落实编码规则,有15位/18位两种,公安部以数学语言描述的方式公开了身份证编码规则和位码含义,但具体到计算机语言实现,需要开发人员自行根据算法设计。网上流传版本不少,不过繁杂而凌乱,且与应用集合描述的不多。现结合项目实践谈谈其处理和用途。

本文主要以oracle的SQL为例子,其他语言大家可以自行转换,道理都是一样的。

这里以ORACLE为例,其他数据库非常类似:*/

--1 号码转换问题

create or replace ID15TO18(p_OldID varchar2) return varchar2 istype TIArrayis table of integer;

type TCArrayis table of char(1);

Resultvarchar2(18);

W TIArray;

A T

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值