📅  最后修改于: 2023-12-03 15:33:19.335000             🧑  作者: Mango
在 Oracle 数据库中,获取一个月的最后一天可以使用以下两种方法。
SELECT LAST_DAY(TO_DATE('2022-01','yyyy-mm')) AS month_end
FROM dual;
此方法使用了 LAST_DAY
函数和 TO_DATE
函数。LAST_DAY
函数返回给定日期所在月份的最后一天。TO_DATE
函数将字符串转化为日期格式,第二个参数指定字符串的格式。此查询返回的结果如下:
| MONTH_END | |-----------| | 31-JAN-22 |
SELECT TRUNC(ADD_MONTHS(SYSDATE, 1), 'MM') - 1 AS month_end
FROM dual;
此方法使用了 ADD_MONTHS
函数、TRUNC
函数和 SYSDATE
系统函数。ADD_MONTHS
函数返回给定日期加上指定月份数后的日期,这里使用了 SYSDATE
函数返回当前系统日期。TRUNC
函数将日期截取至指定单位的起点,这里使用了 'MM'
单位,即月份。最后再减去一天,即为该月的最后一天。此查询返回的结果如下:
| MONTH_END | |-----------| | 31-JAN-22 |
两种方法均可以获取一个月的最后一天,开发者可以选择适合自己的方法来实现需求。