SQL语句通过身份证号计算年龄
SQL语句通过身份证号计算年龄
1、截取身份证号上的出生日期
身份证一般为18位数和15位数
18位数身份证的第7-10位数是出生年份,第11-14位数是出生月日,所以18位身份证的年龄计算如下
substring(now(),1,4)-substring(idcard,7,4))-(substring(idcard,11,4)-date_format(now(),'%m%d')>0
15位数身份证的第7-8位数是出生年份,但是少了两位。15位数身份证把1930就简化成30少了前面的19,并且15位身份证全部都在19XX年颁发。 第9-12位数是出生月日,所以15位身份证的年龄计算如下
substring(now(),1,4)-(1900+substring(idcard,7,2)))-(substring(idcard,9,4)-date_format(now(),'%m%d')>0
2、加if判断18位和15位
MySQL的if语法比较像JAVA里的三元表达式
IF(条件,条件为true执行,条件为false执行)
MySQL的字符串长度获取方法
CHAR_LENGTH(字符串)
3、最终的sql语句
select
id,
if (CHAR_LENGTH(idcard)<18,(substring(now(),1,4)-(1900+substring(idcard,7,2)))-(substring(idcard,9,4)-date_format(now(),'%m%d')>0),(substring(now(),1,4)-substring(idcard,7,4))-(substring(idcard,11,4)-date_format(now(),'%m%d')>0)) as age,
idcard
from t_table;
SQL语句通过身份证号计算年龄的更多相关文章
- sql server 根据身份证号计算出生日期和年龄的存储过程
我这边有一个业务,需要客户填写身份证号,自动计算他的出生日期和年龄 在sql中,具体的存储过程实现是这样的: /******************************************** ...
- sql语句——根据身份证号提取省份、出生日期、年龄、性别。
原表 sql语句: SELECT ) ' then '北京市' ' then '天津市' ' then '河北省' ' then '山西省' ' then '内蒙古自治区' ' then '辽宁省' ...
- sql语句——根据身份证号判断男女
根据身份证判断男女的规则:二代身份证为18位,判断倒数第二位,第二位若为奇数,性别为男:偶数则为女 一代身份证为15为,判断倒数第一位,规则同上. update 表名 set 表名.字段名= case ...
- sql语句将身份证号数字转换成特殊字符
SELECT Tname , STUFF(Idcard,,,'*********') as Idcard,Completion from demo
- 教你一招:根据身份证号计算出生年月和年龄 text函数和mid函数混用 datedif函数和today函数混用
在电子表格Excel中,使用text函数和mid函数混用,根据身份证号计算出生年月: =text(mid(A2,,),"0!/00!/00") #0!/00!/00 为日期的格式# ...
- js中如何通过身份证号计算出生日期和年龄
在html中有如下标签 身份证号:<input type="text" id="Gra_IDCard" onChange="IDCardChan ...
- oracle 根据身份证号计算出生日期
1.情景展示 如何根据身份证号推算出出生日期? 2.解决方案 --根据身份证号计算出生日期 SELECT DECODE(LENGTH(ID_CARD), 18, SUBSTR(ID_CARD, 7 ...
- python 根据生日计算年龄 sqlalchemy根据身份证号计算生日 性别
import datetime '): birth_d = datetime.datetime.strptime(birth_s, "%Y%m%d") today_d = date ...
- EXCEL计算根据当前时间和身份证号计算准确年龄
假设身份证号在A2单元格 =IF(MONTH(NOW())<MONTH(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))),INT(YEAR(NOW())- ...
随机推荐
- TypeScript——02——TS基本数据类型介绍和使用
一,TS的数据类型 ES6的数据类型: 6种基本数据类型 Boolean Number String Symbol undefined null 3种引用类型 Array Function Objec ...
- spring boot用ModelAndView向Thymeleaf模板传参数
最近在调试一个Spring Boot向Thymeleaf模板传参数的例子,但踩了很多坑,这里就把详细过程记录下来,以供大家参考. 先说下,这里遇到哪些坑呢? 1 我用的是IDEA社区版,这不支持JSP ...
- webpack4.X核心工具库之tapable实例对象Hook
一.tapable简介 tapable为webpack底层的核心工具库,webpack许多功能的实现都是跟它密不可分的,webpack的编译流程为配置初始化--->内容编译--->输出编译 ...
- iOS拍照定制之AVCaptureVideoDataOutput
问题 领导看了前面做的拍照,问了句"哪来的声音", "系统的,自带的,你看系统的拍照也有声音" "有办法能去掉吗?挺糟心的" "我 ...
- iOS拍照之系统拍照
拍照在App中使用频次高,入门级别直接调用系统拍照 思路: 系统拍照使用UIImagePickerController 1.设置下plist,否则没权限,报错 2.判断摄像头,获取权限,否则弹出界面黑 ...
- DRF 外键字段深度查询优化、ListSerializer辅助完成群改
目录 一.Response封装 二.外键字段深度查询 1.序列化配置exclude.depth 2.模型层函数.插拔式字段查询 三.listserializer辅助类 一.Response封装 用de ...
- C#语言特性及发展史
本文按照C#语言的发展历史,介绍C#每个版本的新增特性,主要参考微软官方文档.了解这些语言特性可以帮助我们更高效的编写C#代码. C# 1.0 与Visual Studio .NET 2002一起发布 ...
- 使用docker-compose配置mysql数据库并且初始化用户
使用docker-compose配置mysql数据库并且初始化用户 docker-compose 测试创建一个docker-compose.yml测试 以下配置了外部数据卷.外部配置文件.外部初始化 ...
- 重复代码的克星,高效工具 VSCode snippets 的使用指南
为什么要用 snippets(代码段)? 不管你使用何种编程语言,在我们日常的编码工作中,都会存在有大量的重复代码编写,例如: 日志打印: console.log,log.info('...') 输出 ...
- mysql 单表下的字段操作
如下只介绍单表的添加.更新.删除.查询表结构操作,查询数据操作范围太大用单独的篇幅来讲解: 查看表结构 desc test_tb; Insert 插入数据 插入 = 添加 为表中指定的字段插入数据 C ...