当前位置: 首页 > news >正文

[Oracle] ADD_MONTHS()函数

ADD_MONTHS() 是 Oracle 中专门用于日期计算的函数,它可以在给定日期上增加或减少指定的月数

ADD_MONTHS()函数特别适合需要精确处理月份增减的业务场景

语法格式

ADD_MONTHS(date, number_of_months)

参数说明

date: 基准日期(DATE 类型)
number_of_months: 要添加的月数,可以是整数或小数(小数部分会被忽略)
正数:向未来计算
负数:向过去计算

示例

-- 当前日期加2个月
SELECT ADD_MONTHS(SYSDATE, 2) FROM dual;-- 当前日期减3个月
SELECT ADD_MONTHS(SYSDATE, -3) FROM dual;-- 月末处理
-- 如果基准日期是某月的最后一天,结果也会是该月的最后一天
SELECT ADD_MONTHS(TO_DATE('2025-01-31', 'YYYY-MM-DD'), 1) FROM dual;  -- 2025/2/28-- 自动处理跨年份的月份计算
SELECT ADD_MONTHS(TO_DATE('2025-11-15', 'YYYY-MM-DD'), 3) FROM dual;  -- 2026/2/15-- 保留日期部分
-- 结果会保留原始日期的时分秒部分
SELECT ADD_MONTHS(TO_DATE('2025-08-09 14:30:00', 'YYYY-MM-DD HH24:MI:SS'), 1) FROM dual;  -- 2025/9/9 下午 02:30:00-- 与TRUNC()函数结合使用
-- 去年同月第一天
SELECT ADD_MONTHS(TRUNC(SYSDATE, 'MM'), -12) FROM dual;

提示Tips

① 月数(包含小数)会被截断取整(不四舍五入)

-- 等同于 ADD_MONTHS(SYSDATE, 1)
SELECT ADD_MONTHS(SYSDATE, 1.9) FROM dual;
http://www.dtcms.com/a/322518.html

相关文章:

  • 可直接运行的 Playwright C# 自动化模板
  • day22|学习前端ts语言
  • 我想做自动化报社保,用哪种技术更好一点呢?
  • 7_基于深度学习的安全帽检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • 微信原生小程序 Timeline 组件实现
  • 论文阅读-ZeroDCE和ZeroDCE++
  • 力扣-34.在排序数组中查找元素的第一个和最后一个位置
  • 【排序算法】③直接选择排序
  • 深入解析 Apache APISIX 在微服务网关中的性能优化实践指南
  • C语言(10)——结构体、联合体、枚举
  • ARM体系结构
  • cross-env dotenv
  • 【QuPath 】QuPath 批量提取 SVS 文件元数据脚本
  • NLP:Transformer输出部分
  • DigitalProductId解密算法php调试版piddebug.php
  • Day02 员工管理,分类管理
  • 【线性代数】其他
  • 【Redis7.x】docker配置主从+sentinel监控遇到的问题与解决
  • 【LeetCode 热题 100】(六)矩阵
  • 解决本地连接服务器ollama的错误
  • 网站站长如何借助php推送示例提交网站内容加速百度收录?
  • 【26】C#实战篇—— 多个线程函数对同一个 Excel 文件进行写操作引起的文件冲突问题,解决方法
  • 代码随想录day60图论10
  • 使用 Ansys Discovery 进行动态设计和分析
  • Mac屏幕取色不准?探究原理和换算规则
  • Linux文件系统基石:透彻理解inode及其核心作用
  • LeetCode111~130题解
  • ABP VNext + Akka.NET:高并发处理与分布式计算
  • 【AGI】GPT-5:博士级AI助手的全面进化与协作智能时代的黎明
  • 如何输出一篇高质量的版本测试策略