用sql實(shí)現(xiàn)18位身份證校驗(yàn)代碼分享 身份證校驗(yàn)位計(jì)算
身份證校驗(yàn)碼的計(jì)算方法
1、將前面的身份證號(hào)碼17位數(shù)分別乘以不同的系數(shù)。第i位對(duì)應(yīng)的數(shù)為[2^(18-i)]mod11。從第一位到第十七位的系數(shù)分別為:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 ;
2、將這17位數(shù)字和系數(shù)相乘的結(jié)果相加;
3、用加出來(lái)和除以11,看余數(shù)是多少?;
4、余數(shù)只可能有0 1 2 3 4 5 6 7 8 9 10這11個(gè)數(shù)字。其分別對(duì)應(yīng)的最后一位身份證的號(hào)碼為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);
- 通過(guò)SQLSERVER重啟SQLSERVER服務(wù)和計(jì)算機(jī)的方法
- 利用php+mysql來(lái)做一個(gè)功能強(qiáng)大的在線計(jì)算器
- 在php和MySql中計(jì)算時(shí)間差的方法
- mysql 字符串長(zhǎng)度計(jì)算實(shí)現(xiàn)代碼(gb2312+utf8)
- SQL2005CLR函數(shù)擴(kuò)展-深入環(huán)比計(jì)算的詳解
- SQLSERVER 根據(jù)地圖經(jīng)緯度計(jì)算距離差示例
- SQL計(jì)算字符串中最大的遞增子序列的方法
- SQL語(yǔ)句計(jì)算兩個(gè)日期之間有多少個(gè)工作日的方法
- 如何計(jì)算多個(gè)訂單的核銷金額
相關(guān)文章
Centos 7.3下SQL Server安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Centos 7.3下SQL Server安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08SQLSERVER數(shù)據(jù)庫(kù)備份后無(wú)法還原的解決辦法
有時(shí)候?yàn)榱丝紤]數(shù)據(jù)安全我們都會(huì)備份數(shù)據(jù)庫(kù),sqlserver的備份格式一般都是bak結(jié)尾的,但覆蓋時(shí)容易出問(wèn)題,這里簡(jiǎn)單介紹下,需要的朋友可以參考下2013-08-08必須會(huì)的SQL語(yǔ)句(一) 創(chuàng)建數(shù)據(jù)庫(kù)與刪除數(shù)據(jù)庫(kù)
這篇文章主要介紹了sqlserver創(chuàng)建數(shù)據(jù)庫(kù)與刪除數(shù)據(jù)庫(kù)的語(yǔ)句,需要的朋友可以參考下2015-01-01如何在SQL Server 2014中用資源調(diào)控器壓制你的存儲(chǔ)?
本文通過(guò)一個(gè)非常簡(jiǎn)單的例子介紹了如何利用SQL Server 2014中的資源調(diào)控器(Resource Governor)來(lái)壓制你的存儲(chǔ),需要的朋友可以參考下2015-07-07sql server通過(guò)腳本進(jìn)行數(shù)據(jù)庫(kù)壓縮全備份的方法【推薦】
這篇文章主要介紹了sql server通過(guò)腳本進(jìn)行數(shù)據(jù)庫(kù)壓縮全備份的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06SQL中函數(shù) replace 的參數(shù)1的數(shù)據(jù)類型ntext無(wú)效的解決方法
SQL中函數(shù) replace 的參數(shù) 1 的數(shù)據(jù)類型 ntext 無(wú)效。找了半天找到了解決辦法2010-06-06