位身份证升级为18位并查询其信息.doc_第1页
位身份证升级为18位并查询其信息.doc_第2页
位身份证升级为18位并查询其信息.doc_第3页
位身份证升级为18位并查询其信息.doc_第4页
位身份证升级为18位并查询其信息.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-15位身份证升级为18位 并查询其信息create or replace procedure f_changecard(p_cert_num in varchar2)asv_cert_num varchar2(30);v_type varchar2(20);v_sum varchar2(10);-v_sum_m varchar2(10);v_yu varchar2(4);v_new varchar(30);v_nian varchar(4);v_yue varchar(4);v_ri varchar(4);v_sex varchar2(2);v_sf varchar2(10);v_sf_f varchar2(4);-v_yu_y varchar2(4);begin execute immediate select length(:p_cert_num) from dualinto v_type using p_cert_num;execute immediate select (select substr(select :p_cert_num from dual),1,6) from dual )|19|(select substr(select :p_cert_num from dual),7,9) from dual) from dualinto v_cert_numusing p_cert_num,p_cert_num;-判断身份证是否为15位if v_type15 then dbms_output.put_line(请输入证件号为15位的身份证信息); else -校验取余 v_sum:=substr(v_cert_num,1,1)*7 + substr(v_cert_num,2,1)*9 + substr(v_cert_num,3,1)*10 + substr(v_cert_num,4,1)*5 + substr(v_cert_num,5,1)*8 + substr(v_cert_num,6,1)*4 + substr(v_cert_num,7,1)*2 + substr(v_cert_num,8,1)*1 + substr(v_cert_num,9,1)*6 + substr(v_cert_num,10,1)*3 + substr(v_cert_num,11,1)*7 + substr(v_cert_num,12,1)*9 + substr(v_cert_num,13,1)*10 + substr(v_cert_num,14,1)*5 + substr(v_cert_num,15,1)*8 + substr(v_cert_num,16,1)*4 + substr(v_cert_num,17,1)*2 ; -取出生年月 v_nian:=substr(v_cert_num,7,4); v_yue:=substr(v_cert_num,11,2); v_ri:=substr(v_cert_num,13,2); -取性别 v_sex:=substr(v_cert_num,17,1); -取地区 v_sf:=substr(v_cert_num,1,6); v_sf_f:=substr(v_cert_num,1,2); -7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 v_yu:=mod(v_sum,11);-0 1 2 3 4 5 6 7 8 9 10,1 0 X 9 8 7 6 5 4 3 2 -得出新18位证件号 if v_yu=0 then v_new:=v_cert_num|1 ; elsif v_yu=1 then v_new:=v_cert_num|0 ; elsif v_yu=2 then v_new:=v_cert_num|X ; elsif v_yu=3 then v_new:=v_cert_num|9 ; elsif v_yu=4 then v_new:=v_cert_num|8 ; elsif v_yu=5 then v_new:=v_cert_num|7 ; elsif v_yu=6 then v_new:=v_cert_num|6 ; elsif v_yu=7 then v_new:=v_cert_num|5 ; elsif v_yu=8 then v_new:=v_cert_num|4 ; elsif v_yu=9 then v_new:=v_cert_num|3 ; elsif v_yu=10 then v_new:=v_cert_num|2; end if; -判断新产生的18位身份证号码真伪 依据月份 日期判断 只能。if v_yue between 01 and 12 then case when v_ri between 01and 31 then dbms_output.put_line(您的18位身份证号是:|v_new);dbms_output.put_line (您的生日是:|v_nian|年|v_yue|月|v_ri|日);if mod(v_sex,2)=1 then dbms_output.put_line(性别:阳光宅男);else dbms_output.put_line(性别:大龄宅女);end if;if v_sf_f=63 thencase when v_sf=630000then dbms_output.put_line(青海省);when v_sf=630100then dbms_output.put_line(青海省西宁市);when v_sf=630101then dbms_output.put_line(青海省西宁市市辖区);when v_sf=630102then dbms_output.put_line(青海省西宁市城东区);when v_sf=630103then dbms_output.put_line(青海省西宁市城中区);when v_sf=630104then dbms_output.put_line(青海省西宁市城西区);when v_sf=630105then dbms_output.put_line(青海省西宁市城北区);when v_sf=630121then dbms_output.put_line(青海省西宁市大通回族土族自治县);when v_sf=632100then dbms_output.put_line(青海省海东地区);when v_sf=632121then dbms_output.put_line(青海省海东地区平安县);when v_sf=632122then dbms_output.put_line(青海省海东地区民和回族土族自治县);when v_sf=632123then dbms_output.put_line(青海省海东地区乐都县);when v_sf=632124then dbms_output.put_line(青海省海东地区湟中县);when v_sf=632125then dbms_output.put_line(青海省海东地区湟源县);when v_sf=632126then dbms_output.put_line(青海省海东地区互助土族自治县);when v_sf=632127then dbms_output.put_line(青海省海东地区化隆回族自治县);when v_sf=632128then dbms_output.put_line(青海省海东地区循化撒拉族自治县);when v_sf=632200then dbms_output.put_line(青海省海北藏族自治州);when v_sf=632221then dbms_output.put_line(青海省海北藏族自治州门源回族自治县);when v_sf=632222then dbms_output.put_line(青海省海北藏族自治州祁连县);when v_sf=632223then dbms_output.put_line(青海省海北藏族自治州海晏县);when v_sf=632224then dbms_output.put_line(青海省海北藏族自治州刚察县);when v_sf=632300then dbms_output.put_line(青海省黄南藏族自治州);when v_sf=632321then dbms_output.put_line(青海省黄南藏族自治州同仁县);when v_sf=632322then dbms_output.put_line(青海省黄南藏族自治州尖扎县);when v_sf=632323then dbms_output.put_line(青海省黄南藏族自治州泽库县);when v_sf=632324then dbms_output.put_line(青海省黄南藏族自治州河南蒙古族自治县);when v_sf=632500then dbms_output.put_line(青海省海南藏族自治州);when v_sf=632521then dbms_output.put_line(青海省海南藏族自治州共和县);when v_sf=632522then dbms_output.put_line(青海省海南藏族自治州同德县);when v_sf=632523then dbms_output.put_line(青海省海南藏族自治州贵德县);when v_sf=632524then dbms_output.put_line(青海省海南藏族自治州兴海县);when v_sf=632525then dbms_output.put_line(青海省海南藏族自治州贵南县);when v_sf=632600then dbms_output.put_line(青海省果洛藏族自治州);when v_sf=632621then dbms_output.put_line(青海省果洛藏族自治州玛沁县);when v_sf=632622then dbms_output.put_line(青海省果洛藏族自治州班玛县);when v_sf=632623then dbms_output.put_line(青海省果洛藏族自治州甘德县);when v_sf=632624then dbms_output.put_line(青海省果洛藏族自治州达日县);when v_sf=632625then dbms_output.put_line(青海省果洛藏族自治州久治县);when v_sf=632626then dbms_output.put_line(青海省果洛藏族自治州玛多县);when v_sf=632700then dbms_output.put_line(青海省玉树藏族自治州);when v_sf=632721then dbms_output.put_line(青海省玉树藏族自治州玉树县);when v_sf=632722then dbms_output.put_line(青海省玉树藏族自治州杂多县);when v_sf=632723then dbms_output.put_line(青海省玉树藏族自治州称多县);when v_sf=632724then dbms_output.put_line(青海省玉树藏族自治州治多县);when v_sf=632725then dbms_output.put_line(青海省玉树藏族自治州囊谦县);when v_sf=632726then dbms_output.put_line(青海省玉树藏族自治州曲麻莱县);when v_sf=632800then dbms_output.put_line(青海省海西蒙古族藏族自治州);when v_sf=632801then dbms_output.put_line(青海省海西蒙古族藏族自治州格尔木市);when v_sf=632802then dbms_output.put_line(青海省海西蒙古族藏族自治州德令哈市);when v_sf=632821then dbms_output.put_line(青海省海西蒙古族藏族自治州乌兰县);when v_sf=632822then dbms_output.put_line(青海省海西蒙古族藏族自治州都兰县);when v_sf=632823then dbms_output.put_line(青海省海西蒙古族藏族自治州天峻县); else dbms_output.put_line(你住在火星吗?地址有误,证件类似瞎编);end case;elsif v_sf_f=11 then case when v_sf=110000then dbms_output.put_line(北京市 );when v_sf=110100then dbms_output.put_line(北京市市辖区 );when v_sf=110101then dbms_output.put_line(北京市东城区 );when v_sf=110102then dbms_output.put_line(北京市西城区 );when v_sf=110103then dbms_output.put_line(北京市崇文区 );when v_sf=110104then dbms_output.put_line(北京市宣武区 );when v_sf=110105then dbms_output.put_line(北京市朝阳区 );when v_sf=110106then dbms_output.put_line(北京市丰台区 );when v_sf=110107then dbms_output.put_line(北京市石景山区);when v_sf=110108then dbms_output.put_line(北京市海淀区 );when v_sf=110109then dbms_output.put_line(北京市门头沟区);when v_sf=110111then dbms_output.put_line(北京市房山区 );when v_sf=110112then dbms_output.put_line(北京市通州区 );when v_sf=110113then dbms_output.put_line(北京市顺义区 );when v_sf=110200then dbms_output.put_line(北京市

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论