mysql根據身份證查詢年齡,位址,性別

2021-07-12 01:42:22 字數 1460 閱讀 8027

select  

case left(idcard,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 省份 ,

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

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

when 1 then '男'

when 0 then '女'

else '未知'

end as 性別

from `user`

根據身份證計算年齡

getage function identitycard else let strbirthday if len 18 處理18位的身份證號碼從號碼中得到生日和性別 if len 15 時間字串裡,必須是 var birthdate new date strbirthday var nowdatet...

mysql根據身份證號計算年齡

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

從身份證獲取年齡

8 輸入乙個身份證號碼 15位和18位 和乙個年份,計算現在的年齡 忽略非法引數 eg 610618199001020065 2011 輸出 21 package prctice01 8.輸入乙個身份證號碼 15位和18位 和乙個年份,計算現在的年齡 忽略非法引數 eg 61061819900102...