SQL计算既定日期前一个月的月初日期和月末日期
时间: 2024-10-17 10:14:07 浏览: 28
在SQL中,计算给定日期前一个月的月初和月末日期,通常需要使用日期函数。以下是几种常见数据库系统如MySQL、SQL Server和Oracle中的示例:
1. MySQL:
```sql
-- 月初日期
SET @prev_month = DATE_SUB(CURDATE(), INTERVAL 1 MONTH);
SELECT DATE(@prev_month) AS 'PreviousMonthStart';
-- 月末日期
SELECT DATE_ADD(@prev_month, INTERVAL -1 DAY) AS 'PreviousMonthEnd';
```
2. SQL Server:
```sql
-- 月初日期
DECLARE @prev_month DATE = DATEADD(MONTH, -1, GETDATE());
SELECT DATEADD(DAY, -1, @prev_month) AS 'PreviousMonthStart';
-- 月末日期
SELECT DATEADD(MONTH, -1, @prev_month);
```
3. Oracle:
```sql
-- 月初日期
SELECT ADD_MONTHS(SYSDATE, -1) - 1 AS 'PreviousMonthStart';
-- 月末日期
SELECT ADD_MONTHS(SYSDATE, -1);
```
以上代码都是假设当前日期作为基础,然后回溯到上个月。请注意,对于某些数据库,`DATE_SUB()`或`DATE_ADD()`可能会略有不同,因此请根据您实际使用的数据库查询语法调整。
阅读全文