用sql实现18位身份证校验代码分享 身份证校验位计算

 更新时间:2014年01月28日 13:44:05   作者:  
这篇文章主要介绍了用SQL写的18位身份证校验代码,大家参考使用吧

身份证校验码的计算方法

1、将前面的身份证号码17位数分别乘以不同的系数。第i位对应的数为[2^(18-i)]mod11。从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 ;

2、将这17位数字和系数相乘的结果相加;

3、用加出来和除以11,看余数是多少?;

4、余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2;

复制代码 代码如下:

with t as(select '34052419800101001X'id from dual)
select id
from t
where exists(select 1
from dual connect by level<=length(id)-1 --17
having mod(sum(substr(id,level,1)*power(2,18-level)),11)=
case substr(id,-1,1)
when '1' then 0
when '0' then 1
when 'X' then 2
else
12-substr(id,-1,1)
end);

相关文章

  • SQL语句检测sp4补丁是否安装

    SQL语句检测sp4补丁是否安装

    如何查看sql2000 sp4补丁是否安装成功,本文给出实现sql语句,需要的朋友可以了解下
    2012-12-12
  • SQLServer高效解析JSON格式数据的实例过程

    SQLServer高效解析JSON格式数据的实例过程

    Sql Server从2016开始支持了一些json操作,最近的项目里也是好多地方直接用字段直接存成了json,下面这篇文章主要给大家介绍了关于SQLServer高效解析JSON格式数据的相关资料,需要的朋友可以参考下
    2022-08-08
  • sqlserver 存储过程中If Else的用法实例

    sqlserver 存储过程中If Else的用法实例

    为大家介绍sql server存储过程中if esle的用法,供大家学习参考。数据库中有两张表,A表主键为自动增长的并且是B表的外键且允许为空
    2013-08-08
  • MSSQL 2000 使用帮助(sql server简明教程)

    MSSQL 2000 使用帮助(sql server简明教程)

    这篇文章主要介绍了MSSQL 2000 使用帮助(sql server简明教程),需要的朋友可以参考下
    2017-04-04
  • 通过SQL绘制杨辉三角的实现方法介绍

    通过SQL绘制杨辉三角的实现方法介绍

    本篇文章小编为大家介绍,通过SQL绘制杨辉三角的实现方法介绍。需要的朋友参考下
    2013-04-04
  • SQL Server数据库的死锁详细说明

    SQL Server数据库的死锁详细说明

    死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待,下面这篇文章主要给大家介绍了关于SQL Server死锁的相关资料,需要的朋友可以参考下
    2024-07-07
  • SQL 中的For Xml Path详解

    SQL 中的For Xml Path详解

    今天就给大家介绍一下FOR XML PATH,它就是用来处理低版本数据库中数据合并的,是一个比较古老的功能了,新版本中也依然还能使用,对SQL 中的For Xml Path相关知识感兴趣的朋友一起看看吧
    2022-08-08
  • sql server数据库如何进行sql注入

    sql server数据库如何进行sql注入

    这篇文章主要介绍了sql server数据库如何进行sql注入,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • SQL Server索引超出了数组界限的解决方案

    SQL Server索引超出了数组界限的解决方案

    这篇文章主要介绍了SQL Server索引超出了数组界限的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • SQL REGEXP 正则表达式详解

    SQL REGEXP 正则表达式详解

    SQL中的正则表达式(通常表示为REGEXP或RLIKE)是一种强大的模式匹配工具,允许你执行复杂的字符串搜索和匹配操作,本文给大家介绍SQL REGEXP 正则表达式的相关知识,感兴趣的朋友一起看看吧
    2025-04-04

最新评论