sql 로 18 비트 신분증 검사 코드 공유 신분증 검사 위치 계산 실현
1.앞 에 있 는 주민등록번호 17 자 리 를 각각 다른 계수 로 곱 합 니 다.i 위 에 대응 하 는 수 는[2^(18-i)]mod 11 이다.1 위 부터 17 위 까지 의 계 수 는 각각 7,9,10,5,8,4,1,6,3,7,9,10,5,8,42 이다.
2.이 17 자리 숫자 와 계 수 를 곱 한 결 과 를 더 합 니 다.
3.더하기 와 나 누 기 11 로 나머지 가 얼마 인지 봅 시다.
4.나머지 는 0,1,2,3,4,5,6,7,89,10 이라는 11 개의 숫자 만 있 을 수 있다.그 에 대응 하 는 마지막 신분증 의 번 호 는 10 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);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 중첩된 객체를 정확히 일치 검색 - PostgreSQL목차 * 🚀 * 🎯 * 🏁 * 🙏 JSON 객체 예시 따라서 우리의 현재 목표는 "고용주"사용자가 입력한 검색어(이 경우에는 '요리')를 얻고 이 용어와 정확히 일치하는 모든 사용자 프로필을 찾는 것입니다. 즐거운 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.