国产探花免费观看_亚洲丰满少妇自慰呻吟_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);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘孜县| 涞水县| 平山县| 巴彦淖尔市| 紫金县| 延安市| 襄垣县| 阜新| 吴川市| 土默特左旗| 即墨市| 宜春市| 板桥市| 寿宁县| 扶余县| 汶上县| 上思县| 临泽县| 玛沁县| 星座| 乐至县| 宁海县| 玛纳斯县| 镇原县| 志丹县| 集安市| 西林县| 平昌县| 新和县| 宁武县| 郑州市| 綦江县| 甘谷县| 莎车县| 元谋县| 黄平县| 内黄县| 平远县| 庐江县| 阿图什市| 保亭|