SQL 返回上月最后一天
时间: 2023-08-08 14:09:51 浏览: 203
你可以使用SQL中的DATEADD和EOMONTH函数来计算上月的最后一天日期。
首先,使用DATEADD函数将当前日期减去一个月:
```
SELECT DATEADD(month, -1, GETDATE())
```
这会返回当前日期的上一个月的日期。例如,如果今天是2021年9月1日,那么上面的查询会返回2021年8月1日。
然后,使用EOMONTH函数计算上一个月份的月末日期:
```
SELECT EOMONTH(DATEADD(month, -1, GETDATE()))
```
这会返回上一个月的最后一天日期。例如,如果今天是2021年9月1日,那么上面的查询会返回2021年8月31日。
相关问题
sql 查询上月最后一天
要查询上个月的最后一天,可以根据不同的数据库管理系统(DBMS)使用不同的SQL语句。以下是一些常见的数据库系统中的实现方式:
### MySQL
在MySQL中,可以使用`LAST_DAY`函数结合`DATE_SUB`和`INTERVAL`来实现:
```sql
SELECT LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AS last_day_of_previous_month;
```
### PostgreSQL
在PostgreSQL中,可以使用`DATE_TRUNC`和`INTERVAL`来实现:
```sql
SELECT (DATE_TRUNC('month', CURRENT_DATE) - INTERVAL '1 day')::date AS last_day_of_previous_month;
```
### SQL Server
在SQL Server中,可以使用`EOMONTH`函数结合`DATEADD`来实现:
```sql
SELECT EOMONTH(DATEADD(MONTH, -1, GETDATE())) AS last_day_of_previous_month;
```
### Oracle
在Oracle中,可以使用`LAST_DAY`函数结合`ADD_MONTHS`来实现:
```sql
SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -1)) AS last_day_of_previous_month FROM dual;
```
这些语句都会返回上个月的最后一天,具体选择哪种方式取决于你所使用的数据库系统。
sql获取上上月最后一天
获取上上月最后一天的 SQL 可以使用以下查询语句:
```
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,DATEADD(m,-2,GETDATE()))+1,0)) AS 'Month End'
```
其中,GETDATE() 可以替换为你想要查询的日期,例如 '2021-07-01'。该查询语句会返回上上月的最后一天,例如 '2021-05-31'。
阅读全文
相关推荐













