📌  相关文章
📜  oracle 一个月的最后一天 - SQL (1)

📅  最后修改于: 2023-12-03 15:33:19.335000             🧑  作者: Mango

Oracle 一个月的最后一天 - SQL

在 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 |

两种方法均可以获取一个月的最后一天,开发者可以选择适合自己的方法来实现需求。