構成
位址碼(身份證前六位)表示編碼物件常住戶口所在縣(市、旗、區)的行政區劃**。
生日期碼
(身份證第七位到第十四位)表示編碼物件出生的年、月、日,其中年份用四位數字表示,年、月、日之間不用分隔符。例如:2023年05月11日就用19810511表示。
順序碼(身份證第十五位到十七位)為同一位址碼所標識的區域範圍內,對同年、月、日出生的人員編定的順序號。其中第十七位奇數分給男性,偶數分給女性。
校驗碼(身份證最後一位)是根據前面十七位數字碼,按照iso 7064:1983.mod 11-2校驗碼計算出來的檢驗碼。作為尾號的校驗碼,是由號碼編制單位按統一的公式計算出來的,如果某人的尾號是0-9,都不會出現x,但如果尾號是10,那麼就得用x來代替,因為如果用10做尾號,那麼此人的身份證就變成了19位,而19位的號碼違反了國家標準,並且我國的計算機應用系統也不承認19位的身份證號碼。ⅹ是羅馬數字的10,用x來代替10,可以保證公民的身份證符合國家標準。
1.抓取固定區域的相關資訊
select sum(loan_amount), count(*)
from table_loan a
where substr(a.national_id,1,6)='500106' ---重慶市沙坪壩區身份證統一編碼號
備註:通過身份證號碼的特定編碼可以進行特定省市區的人群分布統計,年齡、性別等
2.通過身份證計算年齡、性別
select
mod(substring(national_id, 17, 1), 2) as gender,
floor(datediff(date_format(now(),'%y%m%d'),substring(national_id,7,8))/365) user_age
from table_userinfo
3.計算各地區申請量佔比
4.身份證號碼戶籍地對映
select
replace(b.mobile,substr(b.mobile,4,4),'***x') as hide_mobile, ###隱藏**號碼中間四位數
case when substr(a1.national_id,1,2)='11' then '北京'
when substr(a1.national_id,1,2)='12' then '天津'
when substr(a1.national_id,1,2)='13' then '河北'
when substr(a1.national_id,1,2)='14' then '山西'
when substr(a1.national_id,1,2)='15' then '內蒙古'
when substr(a1.national_id,1,2)='21' then '遼寧'
when substr(a1.national_id,1,2)='22' then '吉林'
when substr(a1.national_id,1,2)='23' then '黑龍江'
when substr(a1.national_id,1,2)='31' then '上海'
when substr(a1.national_id,1,2)='32' then '江蘇'
when substr(a1.national_id,1,2)='33' then '浙江'
when substr(a1.national_id,1,2)='34' then '安徽'
when substr(a1.national_id,1,2)='35' then '福建'
when substr(a1.national_id,1,2)='36' then '江西'
when substr(a1.national_id,1,2)='37' then '山東'
when substr(a1.national_id,1,2)='41' then '河南'
when substr(a1.national_id,1,2)='42' then '湖北'
when substr(a1.national_id,1,2)='43' then '湖南'
when substr(a1.national_id,1,2)='44' then '廣東'
when substr(a1.national_id,1,2)='45' then '廣西'
when substr(a1.national_id,1,2)='46' then '海南'
when substr(a1.national_id,1,2)='50' then '重慶'
when substr(a1.national_id,1,2)='51' then '四川'
when substr(a1.national_id,1,2)='52' then '貴州'
when substr(a1.national_id,1,2)='53' then '雲南'
when substr(a1.national_id,1,2)='54' then '**'
when substr(a1.national_id,1,2)='61' then '陝西'
when substr(a1.national_id,1,2)='62' then '甘肅'
when substr(a1.national_id,1,2)='63' then '青海'
when substr(a1.national_id,1,2)='64' then '寧夏'
when substr(a1.national_id,1,2)='65' then '新疆'
when substr(a1.national_id,1,2)='886' or substr(a1.national_id,1,2)='71' then '台灣'
when substr(a1.national_id,1,2)='852' or substr(a1.national_id,1,2)='81' then '香港'
when substr(a1.national_id,1,2)='853' or substr(a1.national_id,1,2)='82' then '澳門' end as res_address
from
table_name a1
身份證號碼編碼
身份證號碼編碼 教學設計 身份證為18位,老的身份證是15位就不說了。關於身份證第18是怎麼計算的,原理如下 根據 中華人民共和國國家標準gb11643 1999 中有關公民身份號碼的規定,公民身份號碼是特徵組合碼,由十七位數字本體碼和一位數字校驗碼組成。排列順序從左至右依次為 六位數字位址碼,八位...
身份證號碼
每乙個人自出生後都會有乙個身份證號碼。根據我國有關部門規定,公民身份號碼是特徵組合碼,由十七位數字本體碼和一位數字校驗碼組成。排列順序從左至右依次為 六位數字位址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。居民身份證是國家法定的證明公民個人身份的有效證件。例如 對於身份證號碼330719...
身份證號碼驗證
說明 驗證身份證的有效性 引數 cid 身份證號碼 返回 地方 出生時間 性別 private string checkcidinfo string cid if cid.length 18 char c cid cid.length 1 bool last false if c 0 c 9 c a...