oracle获取上个月第一天和最后一天
时间: 2023-09-12 08:03:14 浏览: 75
可以使用以下 SQL 语句来获取上个月的第一天和最后一天:
```sql
SELECT TRUNC (ADD_MONTHS (SYSDATE, -1), 'MM') AS last_month_first_day,
LAST_DAY (ADD_MONTHS (SYSDATE, -1)) AS last_month_last_day
FROM dual;
```
其中,`SYSDATE` 表示当前日期时间,`ADD_MONTHS (SYSDATE, -1)` 表示减去一个月的日期时间,`TRUNC (ADD_MONTHS (SYSDATE, -1), 'MM')` 表示将上个月的日期时间截取到月份的第一天,`LAST_DAY (ADD_MONTHS (SYSDATE, -1))` 表示获取上个月的最后一天。
相关问题
oracle获取上个月第一天和最后一天 使用to_date()
你可以使用以下语句获取上个月的第一天和最后一天:
```
SELECT TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE, -2)))+1 AS last_month_first_day,
LAST_DAY(ADD_MONTHS(SYSDATE, -1)) AS last_month_last_day
FROM dual;
```
这里我们使用了Oracle的内置函数TRUNC、LAST_DAY、ADD_MONTHS和SYSDATE。
- TRUNC函数用于截取日期的时间部分,只保留日期部分;
- LAST_DAY函数返回给定日期所在月份的最后一天;
- ADD_MONTHS函数用于将给定日期加上指定的月份数;
- SYSDATE函数返回当前日期和时间。
我们先通过ADD_MONTHS函数将当前日期减去2个月,即上个月,然后再分别使用LAST_DAY函数和TRUNC函数获取上个月的最后一天和第一天。最后再加上1天,即可得到上个月的第一天。
注意:如果你要使用特定的日期而不是当前日期,可以将SYSDATE函数替换为你所需要的日期。
oracle 获取两个月前的第一天和上个月的最后一天
获取两个月前的第一天:
```
SELECT TRUNC(ADD_MONTHS(SYSDATE,-2),'MM') AS first_day_of_two_months_ago FROM dual;
```
获取上个月的最后一天:
```
SELECT LAST_DAY(ADD_MONTHS(SYSDATE,-1)-1) AS last_day_of_last_month FROM dual;
```