SQL 日期函数如何获取季度最后一天?

答案:不同数据库通过计算季度对应最后月份再获取该月最后一天。MySQL用QUARTER和YEAR构造日期并LAST_DAY;SQL Server用DATEFROMPARTS和EOMONTH;P%ignore_a_1%stgreSQL用EXTRACT和间隔运算。

sql 日期函数如何获取季度最后一天?

在 SQL 中获取季度最后一天,不同数据库有不同的函数支持。下面介绍几种主流数据库的实现方式。

MySQL 获取季度最后一天

MySQL 没有直接获取季度最后一天的函数,但可以通过日期运算组合实现:

使用 QUARTER()YEAR() 提取年份和季度计算该季度的最后一个月(3、6、9、12)构造该月的最后一天(下季度第一天减去一天)

示例:获取当前日期所在季度的最后一天

SELECT LAST_DAY(  DATE_ADD(    CONCAT(YEAR(CURDATE()), '-',            CASE QUARTER(CURDATE())             WHEN 1 THEN '03'             WHEN 2 THEN '06'             WHEN 3 THEN '09'             ELSE '12'           END, '-01'),    INTERVAL 0 MONTH  )) AS quarter_last_day;

SQL Server 获取季度最后一天

SQL Server 可结合 DATEFROMPARTSEOMONTH 实现:

DATEPART(quarter, …) 获取季度计算对应月份:季度 × 3用 EOMONTH 获取该月最后一天

示例:

arXiv Xplorer arXiv Xplorer

ArXiv 语义搜索引擎,帮您快速轻松的查找,保存和下载arXiv文章。

arXiv Xplorer 73 查看详情 arXiv Xplorer

SELECT EOMONTH(  DATEFROMPARTS(    YEAR(GETDATE()),    QUARTER(GETDATE()) * 3,    1  )) AS quarter_last_day;

PostgreSQL 获取季度最后一天

PostgreSQL 使用 EXTRACT 和日期运算:

提取季度和年份构造季度最后一个月的第一天加一个月再减一天

示例:

SELECT (MAKE_DATE(          EXTRACT(YEAR FROM CURRENT_DATE)::INT,          (EXTRACT(QUARTER FROM CURRENT_DATE)::INT * 3),          1        ) + INTERVAL '1 month' - INTERVAL '1 day')::DATEAS quarter_last_day;

基本上就这些常用方法。根据你使用的数据库选择对应语法即可。关键是先确定季度对应的最后月份,再获取该月最后一天。不复杂但容易忽略月份边界处理。

以上就是SQL 日期函数如何获取季度最后一天?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1088077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月3日 01:16:48
下一篇 2025年12月3日 01:17:09

相关推荐

发表回复

登录后才能评论
关注微信