登录
首页 >  数据库 >  MySQL

sql根据身份证号判断所在地域、年龄、性别

来源:SegmentFault

时间:2023-01-14 15:44:09 483浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是数据库学习者,那么本文《sql根据身份证号判断所在地域、年龄、性别》就很适合你!本篇内容主要包括sql根据身份证号判断所在地域、年龄、性别,希望对大家的知识积累有所帮助,助力实战开发!

应用场景

使用有效身份证来判断用户的基本信息,所在地区、年龄、性别时候。

sql语句:

SELECT
  case left(id_card,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(id_card)=18,substring(id_card,7,4),if(length(id_card)=15,concat('19',substring(id_card,7,2)),null)) as 年龄,
  case if(length(id_card)=18, cast(substring(id_card,17,1) as UNSIGNED)%2, if(length(id_card)=15,cast(substring(id_card,15,1) as UNSIGNED)%2,3))
  when 1 then '男'
  when 0 then '女'
  else '未知'
  end AS 性别
  FROM table_name

文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《sql根据身份证号判断所在地域、年龄、性别》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表