mysql_根据身份证号识别性别、年龄、所在省份

1.性别:

IF(mod(SUBSTR(c.reciver_idcard_num,17,1),2),'man','woman') 性别,

2. 年龄:

CASE WHEN c.reciver_idcard_num <>'' THEN (YEAR(CURDATE()) - SUBSTRING(c.reciver_idcard_num,7,4)) ELSE NULL END AS 年龄,

3. 所属省份:

CASE WHEN d.area_name IS NULL THEN 
                (CASE LEFT(c.reciver_idcard_num,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 '新疆维吾尔自治区'end )
ELSE d.area_name END  as'省级名称'


 

你可能感兴趣的:(MySQL)