根據身份證號提取地域,性別,年齡,出生日期

2022-09-21 15:42:09 字數 1504 閱讀 7616

select

case left(cardid,2)

when '11' then '北京市'

when '12' then '天津市'

when '13' then '河北省'

when '14' then '山西省'

when '15' then '內蒙古自治區'

when '21' then '遼寧省'

when '22' then '吉林省'

when '23' then '黑龍江省'

when '31' then '上海市'

when '32' then '江蘇省'

when '33' then '浙江省'

when '34' then '安徽省'

when '35' then '福建省'

when '36' then '江西省'

when '37' then '山東省'

when '41' then '河南省'

when '42' then '湖北省'

when '43' then '湖南省'

when '44' then '廣東省'

when '45' then '廣西壯族自治區'

when '46' then '海南省'

when '50' then '重慶市'

when '51' then '四川省'

when '52' then '貴州省'

when '53' then '雲南省'

when '54' then '**自治區'

when '61' then '陝西省'

when '62' then '甘肅省'

when '63' then '青海省'

when '64' then '寧夏回族自治區'

when '65' then '新疆維吾爾自治區'

when '71' then '台灣省'

when '81' then '香港特別行政區'

when '82' then '澳門特別行政區'

else '未知'

end as 地域 ,

cast(substring(cardid,7,8) as date) as 出生日期,

year(curdate())-if(length(cardid)=18,substring(cardid,7,4),if(length(cardid)=15,concat('19',substring(cardid,7,2)),null)) as 年齡,

case if(length(cardid)=18, cast(substring(cardid,17,1) as unsigned)%2, if(length(cardid)=15,cast(substring(cardid,15,1) as unsigned)%2,3))

when 1 then '男'

when 0 then '女'

else '未知'

end as 性別

from id;

mysql根據身份證號計算年齡

身份證號包含著出生日期,我們可以通過身份證號與當前日期來計算人的年齡。現有資料表 計算規則為先取出年份與當前年份作差,再比較當前日期與身份證上的月日 即判斷此人是否已經過了國曆生日 決定是否需要減去一歲,已經過了生日就不用減掉了。計算年齡的sql如下 an highlighted block sel...

通過身份證號計算年齡

sfzhm 計算年齡複製 var sfzhm document.getelementbyid sfzhm value if sfzhm.length 15 var date1 new date 取得當前日期 var year1 date1.getfullyear 取得當前年份 var month1 ...

java根據身份證號或生日計算年齡

private static final int invalidage 1 非法的年齡,用於處理異常。根據身份證號碼計算年齡 idnumber 考慮到了15位身份證,但不一定存在 public static int getagebyidnumber string idnumber else if i...