在数据库的运用过程中,我们时常会碰到根据身份证号码来获取当前的年龄,今天我在这里写了一个函数,就是关于获取年龄的

create or replace function FUNC_COMPARE_SFZHM( sfzhm in varchar2) --输入身份证号码return number/*函数说明,返回值0为小于18岁;值为1是大于75岁;其他情况是返回值为2在这个函数里用到了trunc(months_between()) 然后就是将身份证号码里的年月日组合成'yyyy-mm-dd'格式,但是在SQL里拼接用的是"||",而不是"+",这个值得注意*/
isbeginif Trunc(MONTHS_BETWEEN(to_date(to_char(sysdate, 'yyyy-MM-dd'),'yyyy-MM-dd'),to_date(substr(sfzhm,7,4)||'-'||substr(sfzhm,11,2)||'-'||substr(sfzhm,13,2), 'yyyy-MM-dd')) / 12) < 18  thenreturn 0;  elsif  Trunc(MONTHS_BETWEEN(to_date(to_char(sysdate, 'yyyy-MM-dd'),'yyyy-MM-dd'),to_date(substr(sfzhm,7,4)||'-'||substr(sfzhm,11,2)||'-'||substr(sfzhm,13,2), 'yyyy-MM-dd')) / 12) >75 thenreturn 1;elsereturn 2;end if;
end;

下面是函数调用的SQL语句:

select func_compare_sfzhm('310103200003141234') from dual;

转载于:https://www.cnblogs.com/suyun0702/p/8566278.html

SQL 根据身份证号码获取年龄的函数相关推荐

  1. 转java通过身份证号码获取出生日期、性别、年龄

    转自:https://blog.csdn.net/u011199063/article/details/79564587 身份证号码: 15位:6位地址码+6位出生年月日(900101代表1990年1 ...

  2. java通过身份证号码获取出生日期、性别、年龄

    身份证号码: 15位:6位地址码+6位出生年月日(900101代表1990年1月1日出生)+3位顺序码 18位:6位地址码+8位出生年月日(19900101代表1990年1月1日出生)+3位顺序码+1 ...

  3. JS身份证号码校验,JS根据身份证号码获取出生年月日,JS根据出生年月日获取年龄,JS根据身份证号码获取性别

    目录 1.JS身份证号码校验 2.JS根据身份证号码获取出生年月日 3.JS根据出生年月日获取年龄 4.JS根据身份证号码获取性别 1.JS身份证号码校验 /*** 身份证校验** @export* ...

  4. 通过身份证号码获取出生日期、性别、年龄

    /*** 通过身份证号码获取出生日期.性别.年龄** @param certificateNo* @return 返回的出生日期格式:1990-01-01 性别格式:F-女,M-男*/public s ...

  5. JAVA通过身份证号码获取出生年月、年龄及性别

    package com.acat.util;import org.apache.commons.lang.StringUtils;import java.text.ParseException; im ...

  6. python利用datetime库实现通过身份证号码判断年龄、男女,并输出生日

    python利用datetime库实现通过身份证号码判断年龄.男女,并输出生日 实现很简单,直接上代码 import datetimeID=str(input("输入身份证号码") ...

  7. 【Flutter】Dart 校验身份证号合法性,根据身份证号获取年龄性别

    js版或OC.Java版的都容易找到,Dart版的比较少,mark一下吧. // 校验身份证合法性 bool verifyCardId(String cardId) {const Map city = ...

  8. Java身份证号脱敏、校验身份证号合法性、根据身份证号获取年龄、根据生日获取年龄

    这里写目录 身份证号编码规则 身份证号脱敏 身份证号合法性校验 根据身份证号获取年龄 根据生日日期获取年龄 根据身份证号获取年龄.生日的Map集合 身份证号编码规则 第一.二位表示省(自治区.直辖市. ...

  9. C# 根据身份证号码获取人员性别和出生年月

    C# 根据身份证号码获取人员性别和出生年月 //处理18位的身份证号码从号码中得到生日和性别代码if (identityCard.Length == 18){birthday = identityCa ...

最新文章

  1. 电源上的sense什么意思_冷知识:电源开关上的这两个标识有什么含义?
  2. MySQL HINT:Straight_JOIN
  3. 用Macbook开发桌面应用,使用Alamofire链接.Net Core Webapi的注意事项!
  4. 动态二维数组外圈元素值的和_C语言 | 用指向元素的指针变量输出二维数组元素的值...
  5. 2020年假期结束!支付宝发布国庆中秋黄金周报告:出行人次、购买力惊人!
  6. #55 #56 #58 #59 #60 #66
  7. javascript手机号码、电子邮件正则表达式 一种解决方案
  8. html怎么自动过度,HTML与CSS中的过渡模块
  9. 学写网站(二)前端配置之glup
  10. 【ENVI | Landsat 8】预处理—辐射校正定标
  11. 《区块链开源技术需求调研报告》拍了拍你
  12. android中自定义 toast,Android自定义Toast
  13. 苹果推送证书不受信任解决办法2022年
  14. 2018年蓝桥杯C++省赛B组【G:螺旋折线】 【思维】
  15. 喜报!芝诺大数据教学科研平台入选重庆市重点软件公共服务平台
  16. Qt修改可执行程序的图标 生成的exe使用自定义的Ico文件
  17. 多设备同步课程表,适用于iOS与Android
  18. 空调系统的PUE值计算
  19. 中小企业融资解决方案
  20. el-input 邮箱 身份证号和手机号校验

热门文章

  1. php和python交互-python与php的比较
  2. python游戏编程入门-python游戏编程入门
  3. python编程语言是什么-Python编程语言的特点是什么?老男孩Python学习
  4. python表白程序-我喜欢你 抖音表白程序python版
  5. LeetCode Factorial Trailing Zeroes(计算阶乘结果尾部有几个0)
  6. PHP内核介绍及扩展开发指南—高级主题
  7. Java中Volatile关键字详解
  8. matlab_矩阵的灵活操作
  9. 吴恩达机器学习笔记7-数据绘制
  10. [Sdoi2008]沙拉公主的困惑