PgSQL根据身份证号查询年龄

1、需求:数据库中有身份证号码,也有年龄字段,但是年龄字段不会自动更新,现在需要返回最新的年龄数据。

2、思路:获取当前年份,截取省份证中的年龄部分数据,再进行相减即可;

3、具体实现:

①获取当前年份:这个SQL查询的有很多;

-- 查询年份
select extract(year from now()) AS Year;
select to_char(now(),'yyyy') AS Year; -- 其中 now()也可以改写成 current_date 或 SELECT now()::timestamp ;

②截取省份证中的年龄部分数据:一般身份证都是18位,现在就以18位的为准,其他证件位数的计算方法也类型;

-- 截取函数 IdNumber 为身份证号码 为String;
SUBSTRING(IdNumber,7,4);

③进行相减:这个地方需要注意类型一致;所以需要对数据进行一个类型转换即可:如:int2、int4等;

-- 计算
select extract(year from now())- int2(SUBSTRING(身份证号,7,4)) AS age;
select id, (select extract(year from now())- int2(SUBSTRING(身份证号,7,4)) ) age FROM 表名;

相关推荐

  1. 查验身份证

    2024-03-25 18:46:03       40 阅读
  2. C#身份证核验、身份证查询API、身份认证接口

    2024-03-25 18:46:03       23 阅读
  3. pgsql_postgresql表的继承关系查询

    2024-03-25 18:46:03       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-25 18:46:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-25 18:46:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-25 18:46:03       82 阅读
  4. Python语言-面向对象

    2024-03-25 18:46:03       91 阅读

热门阅读

  1. sqllabs1-7sql注入

    2024-03-25 18:46:03       35 阅读
  2. c++ STL 之映射—— map 详解

    2024-03-25 18:46:03       43 阅读
  3. MTU网络大小

    2024-03-25 18:46:03       45 阅读
  4. C# 实体转换

    2024-03-25 18:46:03       39 阅读
  5. Linux常用命令

    2024-03-25 18:46:03       45 阅读
  6. MySQL知识总结

    2024-03-25 18:46:03       36 阅读
  7. 《大厂面试模拟(免费) - C++工程方向》

    2024-03-25 18:46:03       35 阅读
  8. C++ IDisposable 接口抽象类实现

    2024-03-25 18:46:03       44 阅读
  9. 计算机网络参考模型(OSI和TCP/IP 网络模型)

    2024-03-25 18:46:03       38 阅读
  10. 什么是原型链

    2024-03-25 18:46:03       40 阅读
  11. AD实用设置教程

    2024-03-25 18:46:03       38 阅读
  12. C语言 指针综合应用 ( 高阶应用 )

    2024-03-25 18:46:03       40 阅读
  13. Redis面试题

    2024-03-25 18:46:03       39 阅读