最近一个客户的系统要升级,并要求在数据库基本信息中新增年龄和出生日期字段信息. 我心想这么"难" 报价一定要高一点了 于是我废了九牛二虎之力写了一条sql语句,将mysql数据库新增的出生日期和年龄根据身份证号给生成了

数据库中字段信息如下

整理查询sql语句

### 先整理出查询语句
select DATE_FORMAT(SUBSTR(ident_card,7,8),'%Y-%m-%d') as peop_birth,ident_card ,2021-SUBSTR(ident_card,7,4) as age from
hrp_comm_people
where LENGTH(ident_card)=18 and (substr(ident_card,7,2) = '19' OR substr(ident_card,7,1)='2')

批量更新操作


update
hrp_comm_people  set peop_birth = DATE_FORMAT(SUBSTR(ident_card,7,8),'%Y-%m-%d') ,age=2021-SUBSTR(ident_card,7,4)
where LENGTH(ident_card)=18 and (substr(ident_card,7,2) = '19' OR substr(ident_card,7,1)='2') ### 如果你的身份证号错误的太多了要必要校验一下身份证号 可以使用如下语句
### 该mysql正则校验身份证合法性方法取自 网友https://blog.csdn.net/jacklin929/article/details/52515810?utm_medium=distribute.pc_relevant_t0.none-task-blog-searchFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-searchFromBaidu-1.controlupdate
hrp_comm_people  set peop_birth = DATE_FORMAT(SUBSTR(ident_card,7,8),'%Y-%m-%d') ,age=2021-SUBSTR(ident_card,7,4)
where LENGTH(ident_card)=18
and ident_card regexp '^[1-9][[:digit:]]{7}((0[[:digit:]])|(1[0-2]))(([0|1|2][[:digit:]])|3[0-1])[[:digit:]]{3}$|^[1-9][[:digit:]]{5}[1-9][[:digit:]]{3}((0[[:digit:]])|(1[0-2]))(([0|1|2][[:digit:]])|3[0-1])[[:digit:]]{3}([0-9]|X)$'

更新后效果

Mysql根据身份证更新出生日期及年龄sql语句相关推荐

  1. js 根据身份证获取出生日期与年龄

    js 根据身份证获取出生日期与年龄 //获取出生日期getBirthdayFromIdCard(idCard) {var birthday = "";if (idCard != n ...

  2. Mysql学习笔记(基础)基础sql语句详细记录

    数据库学习(基础) // 个人网课学习记录,如果有违规等问题,请联系我删除~ mysql下载安装( 解压版安装配置 下载版安装配置 ) 需求分析:使用cmd命令来创建一个数据库,并对数据库中得一张分类 ...

  3. JavaWEB01:MySQL基础——数据库相关概念、MySQL安装和配置、基础的SQL语句

    JavaWEB01:MySQL基础--数据库相关概念.MySQL安装和配置.基本的SQL语句 JavaWEB02:MySQL高级--约束.数据库设计.多表查询.事务 JavaWEB03:JDBC Ja ...

  4. mysql批量删除多条记录的sql语句_mysql批量删除sql语句

    30种mysql优化sql语句查询的方法_计算机软件及应用_IT/计算机_专业资... 简要介绍基础语句: 1.说明:创建数据库 CREATE DATABASE database-name 2.说明: ...

  5. MySQL中特别实用的几种SQL语句

    MySQL中特别实用的几种SQL语句 文章目录 MySQL中特别实用的几种SQL语句 1. 插入或替换 2. 插入或更新 3. 插入或忽略 4. 指定数据快照或备份 5. 写入查询结果集 6. 强制使 ...

  6. MySQL入门学习的第一节(SQL语句)

    MySQL入门学习的第一节(SQL语句) SQL语句

  7. Oracle中计算年龄SQL语句

    Oracle中根据生日计算年龄SQL语句? 算法一: select floor( MONTHS_BETWEEN(sysdate,birthday)/12) from dual;--从数据库中取值 se ...

  8. 【MySQL】全国省市县三级联动SQL语句—区县SQL(三)

    目录 ->区县信息表数据 [MySQL]全国省市县三级联动SQL语句-建表和省份SQL(一)_路遥叶子的博客-CSDN博客全国省市县三级联动SQL语句-建表和省份SQL(一)https://bl ...

  9. 【MySQL】全国省市县三级联动SQL语句—城市SQL(二)

    目录 -- >城市信息表数据 [MySQL]全国省市县三级联动SQL语句-建表和省份SQL(一)全国省市县三级联动SQL语句-建表和省份SQL(一)https://blog.csdn.net/z ...

最新文章

  1. 最棒 Spring Boot 干货总结(超详细,建议收藏)
  2. Apache Flink 零基础入门(三)编写最简单的helloWorld
  3. 游戏中的实时光线追踪技术与技巧
  4. haroopad设置
  5. Angular Component代码和编译后生成的JavaScript代码
  6. linux服务器重启init 6和reboot区别
  7. Python中的顺序表介绍
  8. Linux驱动(14)--字符类设备与驱动
  9. SpringMVC源码阅读(一)
  10. jsp漂亮的登录界面源码_【案例+源码】详解MVC框架模式及其应用
  11. C++14::lambda函数的类型
  12. java table 内容居中_JTable内容居中显示 | 学步园
  13. [整理]解析Json需要设置Mime
  14. LanguageTool至少需要哪些jar包?
  15. python源码剖析_Python源码剖析的作品目录
  16. mac matlab安装libsvm
  17. C学习的日志(随手记、随手写)
  18. 【spark】一文(10分钟)入门spark
  19. Xcode与C++之游戏开发: 游戏对象
  20. 一招恢复删除的微信好友

热门文章

  1. saas 软件开发_如何仅使用SaaS开发软件
  2. H3C S5500-52C-EI 配置远程登录
  3. 当 IntelliJ IDEA2020 遇上 JDK14:所有美好环环相扣
  4. Theory and Applications of OFDM and CDMA: Wideband Wireless Communications
  5. 国家电网“SG186工程”介绍
  6. 汇集ATJ等互联网大厂和国内外大型银行的最新数智化布局与落地实践 | DAMS上海站...
  7. C语言程序设计课设题
  8. 生活修行_身体心灵修行
  9. 用python做flash动画_将Flash应用于Python项目
  10. Codeforces #208 div2前两题及思维风暴