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

news/2024/10/11 2:31:03/文章来源:https://blog.csdn.net/horses/article/details/142228730

2024年9月13日第十四届全国人民代表大会常务委员会第十一次会议通过了《关于实施渐进式延迟法定退休年龄的决定》。
从2025年1月1日起,男职工和原法定退休年龄为五十五周岁的女职工,法定退休年龄每四个月延迟一个月,分别逐步延迟至六十三周岁和五十八周岁;原法定退休年龄为五十周岁的女职工,法定退休年龄每二个月延迟一个月,逐步延迟至五十五周岁。国家另有规定的,从其规定。

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

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

-- PostgreSQL实现
WITH person_info(category, birthday) AS ( -- 输入个人信息SELECT '男职工', '1985-01-01'::date
),
original_retirement AS ( -- 改革前退休时间SELECT CASE categoryWHEN '男职工' THEN birthday + INTERVAL '60 year' WHEN '女干部' THEN birthday + INTERVAL '55 year'WHEN '女员工' THEN birthday + INTERVAL '50 year'END retirement_ageFROM person_info
),
delay_month(n) AS ( -- 延迟月数SELECT CASE categoryWHEN '男职工' 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)ENDFROM 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,需要调整一下函数;最后得到了改革之后的退休时间。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ldbm.cn/p/443459.html

如若内容造成侵权/违法违规/事实不符,请联系编程新知网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python代码使用OpenCV进行Blob检测

blob 什么是Blob? blob是图像中一组共享的区域,它们具有一些共同的属性(例如灰度值,形状,尺寸等)blob检测的目的是识别并标记一些特定区域,blob检测在自动化工业领域比较常见。 OpenCV提供了一种方便的方法来检测blob并根据不同的特征对其进行过滤。那就是 SimpleBlo…

Java设计模式—面向对象设计原则(三) -----> 依赖倒转原则DIP(完整详解,附有代码+案例)

文章目录 3.3 依赖倒转原则(DIP)3.3.1概述3.3.2 案例 3.3 依赖倒转原则(DIP) 依赖倒转原则:Dependency Inversion Principle,DIP 3.3.1概述 高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细…

grep 命令:文本搜索

一、grep 命令简介 ​grep ​命令用于在文件中搜索指定模式的文本,并显示匹配的行。 ‍ 二、grep 命令参数 匹配规则:可以是 普通字符 ​串或 正则表达式​。 grep [选项] [匹配规则] [指定目录]常用选项: ​-i, --ignore-case​&#…

基于springboot+vue+uniapp的驾校报名小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

哈希表数据结构学习

哈希表数据结构学习 哈希表基本概念哈希方法单值哈希与多值哈希哈希冲突1. 开放寻址法(Open Addressing)2. 链地址法(Chaining)3. 再哈希法(Rehashing)4. 建立公共溢出区(Overflow Area&#xf…

【C++】C++的多态

目录 多态的使用 多态的概念 多态的定义和实现 虚函数 构成多态的条件 特殊情况:协变 析构函数的重写 怎么实现 为什么实现 override和final关键字 override final 重载/重写/隐藏的对比 纯虚函数和抽象类 纯虚函数 抽象类 多态的实现 虚函数表指针…

【人工智能】OpenAI发布GPT-o1模型:推理能力的革命性突破,这将再次刷新编程领域的格局!

在人工智能领域,推理能力的提升一直是研究者们追求的目标。就在两天前,OpenAI正式发布了其首款具有推理能力的大语言模型——o1。这款模型的推出,不仅标志着AI技术的又一次飞跃,也为开发者和用户提供了全新的工具来解决复杂问题。…

我对 monorepo 的一些思考

我对 monorepo 的一些思考 我对 monorepo 的一些思考 前言它的由来技术选型 管理工具语言与打包调试工具测试框架代码规范与质量控制本地引用与发包替换发包流程Github 相关配置部署 使用手册 功能特性总结如何使用?清除默认的包(可选)模板包介绍 packagesapps 更新…

07_Python数据类型_集合

Python的基础数据类型 数值类型:整数、浮点数、复数、布尔字符串容器类型:列表、元祖、字典、集合 集合 集合(set)是Python中一个非常强大的数据类型,它存储的是一组无序且不重复的元素,集合中的元素必须…

算法总结:快速排序

快速排序 前言 快速排序算法是托尼霍尔(Tony Hoare)在1962年提出来的,他是快速排序之父,是1980年图灵奖得主。本篇文章将介绍通过递归的不同写法的方法和非递归的方法来实现简单的快速排序。 一、快速排序的基本思想 快速排序是一…

Django日志

【图书介绍】《Django 5企业级Web应用开发实战(视频教学版)》_django 5企业级web应用开发实战(视频教学版)-CSDN博客 《Django 5企业级Web应用开发实战(视频教学版)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) Django 5框…

2024最新版MySQL详细学习教程

MySQL数据库提供了很多函数包括: 数学函数;字符串函数;日期和时间函数;条件判断函数;系统信息函数;加密函数;格式化函数; 一、数学函数 数学函数主要用于处理数字,包括…

【算法】滑动窗口—最小覆盖子串

题目 ”最小覆盖子串“问题,难度为Hard,题目如下: 给你两个字符串 S 和 T,请你在 S 中找到包含 T 中全部字母的最短子串。如果 S 中没有这样一个子串,则算法返回空串,如果存在这样一个子串,则可…

【MySQL】Windows下重启MySQL服务时,报错:服务名无效

1、问题描述 在终端中,停止、启动MySQL服务时报错:服务名无效 2、原因分析 1)权限不够 如果是权限不够,会提示:系统错误5,拒绝访问。 2)服务名错误 如果是服务名错误,会提示“…

09年408考研真题解析-计算机网络

[题34]在无噪声情况下,若某通信链路的带宽为3kHz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输速率是(B) A.12 kbps B.24 kbps C.48 kbps D.96 kbps 解析&#xff…

css百分比布局中height:100%不起作用

百分比布局时,我们有时候会遇到给高度 height 设置百分比后无效的情况,而宽度设置百分比却是正常的。 当为一个元素的高度设定为百分比高度时,是相对于父元素的高度来计算的。当没有给父元素设置高度(height)时或设置…

YOLOv9改进策略【卷积层】| GnConv:一种通过门控卷积和递归设计来实现高效、可扩展、平移等变的高阶空间交互操作

一、本文介绍 本文记录的是利用GnConv优化YOLOv9的目标检测方法研究。YOLOv9在进行目标检测时,需要对不同层次的特征进行融合。GnConv可以考虑更高阶的空间交互,能够更好地捕捉特征之间的复杂关系,从而增强特征融合的效果,提高模…

自修C++PrimerPlus--类型转换、右值引用、引用中的类对象

目录 1.类型转换介绍 2.关闭vs2022的报警系统 3.string里面的I/O 4.引用和左值引用 4.1左值和右值的说明 4.2具体的代码演示 4.3字符和字符串的const区分 4.4右值引用的示例介绍 5.将引用应用于类对象 6.函数和C风格字符串 6.1两者的区别 6.2演示案例 1.类型转换介…

Ubuntu 20.04 部署 NET8 Web - Systemd 的方式 达到外网访问的目的

1.Ubuntu服务器环境安装 1.1 增加微软包安装源 wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb1.2 Install the .NET SDK # 更新本地软件包列表。原理&am…

k8s的环境配置

一、前期系统环境准备 准备3台主机:硬盘50G cpu2个 内存2G 1、3台主机同时配置 1)关闭防火墙与selinux、NetworkManager [rootk8s-master ~]# systemctl stop firewalld[rootk8s-master ~]# systemctl disable firewalldRemoved symlink /etc/systemd/…