一、背景:

新项目要从别的系统迁移用户表信息,老的用户表里的数据有很多不规范的数据,需要通过表里的身份证号获取用户的省份、年龄、性别。

二、获取方式:

1.通过身份证号获取省份。

SELECT  CASE LEFT(`sfzh`,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 AS 所属省份
FROM `t_user`

2.通过身份证号获取年龄。

SELECT (YEAR(CURDATE()) - SUBSTRING(`sfzh`,7,4)) AS 年龄 FROM t_user

3.通过身份证号获取性别。

 SELECT IF (MOD(SUBSTRING(`sfzh`,17,1),2),'男','女') AS 性别 FROM t_user

4.通过身份证获取省份、性别、年龄。

SELECT  sfzh AS 身份证号,CASE LEFT(`sfzh`,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 AS 所属省份,(YEAR(CURDATE()) - SUBSTRING(`sfzh`,7,4)) AS 年龄,IF (MOD(SUBSTRING(`sfzh`,17,1),2),'男','女') AS 性别 FROM t_user

三、总结:

感谢大家的关注 分享 收藏 评论,关注:Java学习生

MySql 根据身份证号来判别所属省份年龄及性别相关推荐

  1. 正则表达式校验身份证号带出出生日期,年龄,性别

    身份证号码说明 居民身份证号码,正确.正式的称谓应该是"公民身份号码".根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码 ...

  2. Python:输入身份证号,计算出生日期、年龄、性别(源码+效果图)

    源码: x = input("输入:\n") #年份 year = x[6:10] month = x[10:12] day = x[12:14] old = 2021 - eva ...

  3. mysql根据身份证号查 性别、年龄以及出生日期

    mysql根据身份证号查性别.年龄以及出生日期 博客里面还有对应的java工具类:芜湖,起飞 这个身份证号也就只针对大陆身份证号 SELECT p.id,-- 这是根据身份证号求年龄 (YEAR(NO ...

  4. sql提取身份证号信息--省市区县,年龄分组

    sql提取身份证号信息--省市区县,年龄分组 insert into test009 select t8.name ,t8.mobile ,t8.idcard ,t8.birthday ,t8.age ...

  5. MySql 根据身份证号判断年龄所属省份与性别男女

    1.年龄: (YEAR(CURDATE()) - SUBSTRING(`card_id`,7,4)) AS 年龄, 2.所属省份: CASE LEFT(`card_id`,2) WHEN 11 THE ...

  6. mysql 用身份证号判断年龄

    要使用 MySQL 计算出一个人的年龄根据其身份证号,您需要以下步骤: 在 MySQL 中存储该人的身份证号和出生日期. 使用 MySQL 的函数 YEAR() 和 DATEDIFF() 计算出生日期 ...

  7. MySQL 对身份证号、手机号等敏感数据脱敏

    目录 前言 一.数据脱敏解释 二.数据脱敏实现 1.CONCAT().LEFT() 和 RIGHT() 字符串函数组合使用 2.INSERT() 总结 前言 在日常开发需求中会经常遇到数据脱敏处理,比 ...

  8. MySQL对身份证号、手机号等敏感信息用****加密

    目录 身份证 手机 邮箱 对表中敏感信息身份证号.手机号.邮箱进行***加密处理 身份证 UPDATE student set SFZ=REPLACE(SFZ,SUBSTRING(SFZ,11,8), ...

  9. mysql对身份证号进行隐藏、脱敏处理

    一.客户要求身份证号取前3和后3.中间用*,于是有: CONCAT( LEFT(SAFE_DIRECTOR_ID_CARD,3), '************' , RIGHT(SAFE_DIRECT ...

最新文章

  1. 【Java基础】 JQuery的常用操作
  2. 真正想创业,做一番事业的人是什么样子的?
  3. JBoss企业级应用服务平台群集指南(一)
  4. 最长公共子序列问题解析
  5. Ubuntu速配指南之软件参考
  6. 基于ZigBee设计的天气监测系统
  7. PDF文件太大如何变小?
  8. 技术能力和工作能力的联系和区别
  9. luci网页shell_修改Luci界面
  10. 光学测量精度极限—光谱共焦位移传感器的六大行业应用
  11. 伸展树(一) - 概念和C实现
  12. pandas dataframe drop函数
  13. Teach-Repeat-Replan: A Complete and Robust System for Aggressive Flight in Complex Environments
  14. CSR867x — TWS模式音量调节的交互流程
  15. 北漂去帝都大医院求医到底有多难?我的真实经历,真的是一路坎坷与辛酸~
  16. 机器人 控制理论 学习笔记
  17. Socket 套接字原理详解
  18. 渗透测试类型(白盒测试、黑盒测试)和漏洞扫描器
  19. 计算机系统——汇编语言基础
  20. 计算机与测控技术专业就业方向,测控专业就业方向及前景

热门文章

  1. 公共数据库挖掘第一步-GEO数据库下载表达谱数据和生存数据
  2. 十月一“闭关修炼”,读完这些Java技术栈,愿金九银十过五斩六
  3. 新贵 轻雅 100 数字键 numlock问题
  4. Python根据地名获取经纬度
  5. 手机QQ山寨微信 3万网友愤愤不平
  6. 【论文阅读】ReDoSHunter: A Combined Static and Dynamic Approach for Regular Expression DoS Detection
  7. psql -d temp 时候的txid_current!
  8. 软件分享之浏览器部分
  9. Uva 10158 War
  10. 数据挖掘之OneR算法(原来数据挖掘如此简单!)