• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    用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);

    您可能感兴趣的文章:
    • 通过SQLSERVER重启SQLSERVER服务和计算机的方法
    • 利用php+mysql来做一个功能强大的在线计算器
    • 在php和MySql中计算时间差的方法
    • mysql 字符串长度计算实现代码(gb2312+utf8)
    • SQL2005CLR函数扩展-深入环比计算的详解
    • SQLSERVER 根据地图经纬度计算距离差示例
    • SQL计算字符串中最大的递增子序列的方法
    • SQL语句计算两个日期之间有多少个工作日的方法
    • 如何计算多个订单的核销金额
    上一篇:sqlserver数据库使用存储过程和dbmail实现定时发送邮件
    下一篇:php使用pdo连接sqlserver示例分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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