SQL案例分析:计算延迟法定退休年龄

2024年9月13日第十四届全国人民代表大会常务委员会第十一次会议通过了《关于实施渐进式延迟法定退休年龄的决定》。

从2025年1月1日起,男职工和原法定退休年龄为五十五周岁的女职工,法定退休年龄每四个月延迟一个月,分别逐步延迟至六十三周岁和五十八周岁;原法定退休年龄为五十周岁的女职工,法定退休年龄每二个月延迟一个月,逐步延迟至五十五周岁。国家另有规定的,从其规定。

https://www.gov.cn/yaowen/liebiao/202409/content_6974294.htm

基于这个决定,我们可以编写一个SQL查询语句,根据自己的性别和出生日期计算最新的法定退休年龄​:

sql 复制代码
-- PostgreSQL实现
WITH person_info(category, birthday) AS ( -- 输入个人信息
  SELECT '男职工', '1985-01-01'::date
),
original_retirement AS ( -- 改革前退休时间
  SELECT CASE category
           WHEN '男职工' THEN birthday + INTERVAL '60 year' 
           WHEN '女干部' THEN birthday + INTERVAL '55 year'
           WHEN '女员工' THEN birthday + INTERVAL '50 year'
         END retirement_age
  FROM person_info
),
delay_month(n) AS ( -- 延迟月数
  SELECT CASE category
         WHEN '男职工' THEN LEAST(36, 1+(EXTRACT(year FROM age(birthday,'1965-01-01'::date))*12 + EXTRACT(month FROM age(birthday,'1965-01-01'::date)))::int/4)
         WHEN '女干部' THEN LEAST(36, 1+(EXTRACT(year FROM age(birthday,'1970-01-01'::date))*12 + EXTRACT(month FROM age(birthday,'1970-01-01'::date)))::int/4)
         WHEN '女员工' THEN LEAST(50, 1+(EXTRACT(year FROM age(birthday,'1975-01-01'::date))*12 + EXTRACT(month FROM age(birthday,'1975-01-01'::date)))::int/2)
       END
  FROM person_info
)
SELECT category "员工类型",
       birthday "出生日期",
       retirement_age "原始退休时间",
       n "延迟月数", 
       retirement_age + make_interval(0, n) AS "改革后退休时间"
FROM person_info, original_retirement, delay_month;

员工类型|出生日期  |原始退休时间            |延迟月数|改革后退休时间         |
-------+----------+-----------------------+------+-----------------------+
男职工 |1985-01-01|2045-01-01 00:00:00.000|     36|2048-01-01 00:00:00.000|

以上查询应该说非常简单易懂了,person_info 代表了职工的信息;original_retirement 是改革之前的退休时间;delay_month 是改革后延迟的月数,如果不是使用 PostgreSQL,需要调整一下函数;最后得到了改革之后的退休时间。

所以,我们只要在查询的最开始输入自己的工种和出生日期,就可以得到退休时间了。

你还能再为国家奉献几年呢?

相关推荐
十二同学啊8 小时前
向量数据库:从核心原理到 RAG 与 Java 实战
数据库
蓝速科技8 小时前
会议室门牌公告通知发布选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
一 乐11 小时前
二手交易平台|基于springboot + vue二手交易平台(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序
SelectDB11 小时前
同等资源下 Apache Doris 4.2 vs StarRocks 4.1.1:1TB SSB 与 TPC-H 性能实测
大数据·数据库·数据分析
这个DBA有点耶12 小时前
数据库集群与分布式架构:三条技术路线对比、金仓KES RAC实测数据与决策框架
数据库·程序员·架构
MayBaymax12 小时前
MongoDB 索引与事务
java·数据库·mongodb
SelectDB12 小时前
Doris vs ClickHouse:企业 OLAP 走向下一阶段,两种技术路线如何选择
大数据·数据库·数据分析
vx-程序开发12 小时前
【计算机毕设】django校园跑腿服务系统83141
java·数据库·vue.js·spring boot·spring·elasticsearch·django
一 乐13 小时前
养老院管理系统|基于springboot + vue养老院管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
这个DBA有点耶13 小时前
InnoDB页结构深入:页分裂、页合并、填充因子——B+树底层机制全解析
数据库·mysql·架构