国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

用sql實現18位身份證校驗代碼分享 身份證校驗位計算

2024-08-31 01:01:56
字體:
來源:轉載
供稿:網友

身份證校驗碼的計算方法

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);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松江区| 会宁县| 交口县| 额敏县| 永德县| 剑阁县| 安吉县| 平罗县| 延吉市| 潼南县| 江门市| 简阳市| 鹤庆县| 鄂州市| 佛冈县| 美姑县| 自治县| 三明市| 库车县| 安阳县| 喀喇沁旗| 高邑县| 杭州市| 花莲市| 德惠市| 民县| 平乡县| 长岭县| 枣强县| 平顺县| 措勤县| 南郑县| 石嘴山市| 华坪县| 浏阳市| 明水县| 射洪县| 宣汉县| 保山市| 汶川县| 合山市|