create or replace function idsfz(i_sfz varchar2) return varchar2 istype tiarray is table of integer;type tcarray is table of char(1);v_results varchar2(18);v_w tiarray; --数字数组v_a tcarray; --字符数组v_s integer;
beginif i_sfz is null thenreturn 'null';end if;if length(i_sfz) = 15 thenv_w:= tiarray(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1);v_a:= tcarray('1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2');v_results:= substr(i_sfz, 1, 6) || '19' || substr(i_sfz, 7, 9);v_s := 0;beginfor i in 1 .. 17 loopv_s := v_s + to_number(substr(v_results, i, 1)) * v_w(i);end loop;exceptionwhen others thenreturn 'error';end ;v_s:= v_s mod 11;v_results := v_results || v_a(v_s + 1);end if;if length(i_sfz) = 18 thenv_results:= substr(i_sfz,1,6)||substr(i_sfz,9,9);end if;return(v_results);
end idsfz;验证
select idsfz('521010102204344')
from sfz;

身份证的转换15to18,18to15相关推荐

  1. 16Aspx.com-将15位身份证转换成18位

    16Aspx.com-将15位身份证转换成18位 //************************************************************************* ...

  2. 【精品】身份证操作工具类

    理论基础 410001910101123 410001 910101 123 41000119910101123X 410001 19910101 123X 15位:6位地址码+6位出生年月日(900 ...

  3. 【algorithm】源码详解中国大陆新身份证号码算法

    之前印象身份证最后一位奇数为男性,偶数为女性.看了下算法才明白,这指的是老身份证15位,18位身份证末尾加了一个校验码,用来验证是否为真实身份证号. 先看中国大陆身份证结构: 1.号码的结构 公民身份 ...

  4. 【转载】 身份证号码校验(15位和18位都可以)

    转载自: 开源中国社区    面向对象的15位.18位中国大陆身份证号码解析.验证工具 import java.text.ParseException; import java.text.Simple ...

  5. Android身份证号码验证

    最近用到身份证号码验证,在网上看了些资料,写了些方法记录下: 文章迁至:Java/Android通用身份证号验证 public class IDCardValidate {public static ...

  6. python123身份证号掩盖出生日期_身份证号转变为出生日期

    转Excel表格中根据身份证号码自动填出生日期.计算年龄 18位身份证号码转换成出生日期的函数公式:如果E2中是身份证,在F2 中求出出生日期,F2=DATE(MIDB(E2,7,4),MIDB(E2 ...

  7. Java身份证号校验

    面向百度编程 package com.sinosoft.lf.util.common;import java.text.SimpleDateFormat; import java.util.Date; ...

  8. 严格身份证格式校验,真实身份证号校验方法文件CheckIdCardUtil.js

    业务需求,需要用到非常严格的身份证号格式校验 这里校验方法经过测试真实身份证号码日期改一位都不行,必须完全真实号码 以下内容是项目中用到的校验方法,记录下来防止以后再用到 import check f ...

  9. 验证身份证号的工具类

    package com.cloud.economics.common.utils;import java.text.SimpleDateFormat; import java.util.Date;/* ...

最新文章

  1. iframe内联元素有白边原因_教你如何使用内联框架元素 IFrames 的沙箱属性提高安全性?
  2. geth JavaScript Console
  3. python 消息队列 get是从队首还是队尾取东西_python分布式爬虫中消息队列知识点详解...
  4. java 级联删除文件夹下的所有文件
  5. 最简容器化动手小实践——再战flappybird
  6. 设置axios默认访问前缀
  7. 【py技巧】使用reload重导入修改过的包或模块
  8. 从入门到入土:机器学习part02|python|初步学习|numpy|Matplotlib
  9. 群发功能java_利用java实现邮箱群发功能
  10. oracle 产看执行计划_ORACLE数据库查看执行计划的方法
  11. 公网ip经常变动的解决方法
  12. 数据结构习题——第一章 绪论
  13. Cadence导出Excel格式BOM表
  14. 银行卡号码校验算法(Luhn算法,又叫模10算法)
  15. Java语言高级(第三部分)异常多线程 ->(个人学习记录笔记)
  16. bilibili源代码泄露,go-common
  17. Linux学习(一)虚拟机安装linux资源,linux目录结构,购买阿里云服务器远程登陆linux,下载安装并使用Xshell与Xftp
  18. 4 年 Java 程序员十面阿里终拿下 offer,评级 P6+ 年薪 30-40w 无股票
  19. 腾讯派息式减持京东,“伯克希尔”的投资策略变的逻辑是?
  20. python - windows 之 win32api资料教程与函数大全

热门文章

  1. 1.4 日本蜡烛图技术之吞没形态
  2. 异质引文网络DBLP数据集(from AMiner)
  3. 京东品牌联盟:618品牌狂欢盛典-品宣销售再创历史新高
  4. go锁屏 v5.07 安卓版
  5. 阿里巴巴钉钉做信息无障碍的初心
  6. IOS开发之——数据库-基础知识介绍(01)
  7. Ubuntu下的基本知识点(一)
  8. 《30天自制操作系统》 05-08部分 从字符显示到中断处理
  9. python实现MySQL的增删查改
  10. android 视频录制花屏,拍大师录制视频时画面花屏怎么办?拍大师录制视频花屏的解决方法图解...