SELECT SUBSTR('&AI', 0, 17) ||
TRANSLATE(DECODE(MOD(SUM(SUBSTR(WI,
REGEXP_INSTR(WI, ' ', 1, I) + 1,
REGEXP_INSTR(WI, ' ', 1, I + 1) -
REGEXP_INSTR(WI, ' ', 1, I) - 1) *
SUBSTR(AI, I, 1)),
11),
10,
'a',
MOD(SUM(SUBSTR(WI,
REGEXP_INSTR(WI, ' ', 1, I) + 1,
REGEXP_INSTR(WI, ' ', 1, I + 1) -
REGEXP_INSTR(WI, ' ', 1, I) - 1) *
SUBSTR(AI, I, 1)),
11)),
'0123456789a',
'10X98765432')
FROM (SELECT '&AI' AI,
' 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 ' WI,
ROWNUM I
FROM DUAL
CONNECT BY ROWNUM < 18);

SELECT SUBSTR('&AI', 0, 17) ||
TRANSLATE(DECODE(MOD(SUM(MOD(POWER(2, 18 - I), 11) *
SUBSTR(AI, I, 1)),
11),
10,
'a',
MOD(SUM(MOD(POWER(2, 18 - I), 11) * SUBSTR(AI, I, 1)),
11)),
'0123456789a',
'10X98765432')
FROM (SELECT '&AI' AI, ROWNUM I FROM DUAL CONNECT BY ROWNUM < 18);

SELECT SUBSTR('&AI', 0, 17) ||
REPLACE(MOD(12 -
MOD(SUM(MOD(POWER(2, 18 - I), 11) * SUBSTR(AI, I, 1)),
11),
11),
'10',
'X')
FROM (SELECT '&AI' AI, ROWNUM I FROM DUAL CONNECT BY ROWNUM < 18);

Oracle 身份证校验的更多相关文章

  1. oracle 身份证校验函数

    1.正则表达式写法: CREATE OR REPLACE FUNCTION Func_checkidcard (p_idcard IN VARCHAR2) RETURN INT IS v_regstr ...

  2. 篇二:JS身份证校验

    身份证校验 function identityCodeValid(code) { var city={11:"北京",12:"天津",13:"河北&q ...

  3. Powerbuilder编写身份证校验码

    public function boolean of_calc_cardid_verifycode (string as_cardid, ref string as_verifycode); /* 计 ...

  4. java实现身份证校验

    原文来自:java教程网 题目:身份证校验   身份证校验   如果让你设计个程序,用什么变量保存身份证号码呢?长整数可以吗?不可以!   因为有人的身份证最后一位是"X"   实 ...

  5. 最严格的身份证校验(JavaScript版)

    在JavaWeb研发过程中为了获取有效的用户信息,校验其数据的有效性非常是必要,以下贴出在项目中用到的关于身份证的校验: <!DOCTYPE HTML PUBLIC "-//W3C// ...

  6. 身份证校验程序(下)- 零基础入门学习Delphi49

    身份证校验程序 让编程改变世界 Change the world by program [caption id="attachment_2699" align="alig ...

  7. 身份证校验程序(上)- 零基础入门学习Delphi48

    身份证校验程序 让编程改变世界 Change the world by program [caption id="attachment_2699" align="alig ...

  8. 完美实现身份证校验 js正则

    注意: 1.只针对18为身份证号码进行校验,现在15位的应该很少了, 2.不区分xX大小写, 3.出生年份1900-2099,每月的天数也进行相关验证(考虑的闰月的情况), 4.校验规则详见,这个写的 ...

  9. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11 ...

随机推荐

  1. js点击打开一个固定宽高的网页

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  2. Cannot assign requested address出现的原因及解决方案

    今天使用python多线程请求服务时,出现Cannot assign requested address错误 网上找了下原因,大致上是由于客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很 ...

  3. MySQL的btree索引和hash索引的区别

    Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-T ...

  4. AIDL和生成的java文件要分开存放,否则生成can't find symbol class

    Android 5.0之后需要AIDL和生成的java文件要分开存放,否则生成can't fin symbol class.但是4.3没有这个限制.被这个弄了一天,跟老大讨论了一下才豁然开朗.

  5. Owin SelfHost Asp.net WebApi 遇到 No type was found that matches the controller named 'ControllerName' 异常的解决方案

    问题背景:在使用普通的SelfHost时,调用其它工程的dll(其实就是把WebApi写到一个单独的工程方便管理),通过加载其他工程的dll然后再访问webapi是没有问题的. 但是在使用Owin S ...

  6. Qt窗口添加鼠标移动拖拽事件

    1. .h文件中添加 private:    QPoint dragPosition; 2. 在cpp文件中重写鼠标点击和拖拽函数 void ShapeWidget::mousePressEvent( ...

  7. Python数据库备份脚本

    Python数据库备份脚本 #!/usr/bin/env python # author: liudong # -*- coding: utf-8 -*- # filename: db_bak.py ...

  8. excel 把字符和数字分开

    主要是 len,lenb,left,right 函数 http://jingyan.baidu.com/article/95c9d20dac8540ec4f75616d.html

  9. matlab的try/catch语句

    http://blog.sina.com.cn/s/blog_6fd1f2350102x2p3.html

  10. HTML第三天作业做的表格

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...