mysql 返回上月最后一天
时间: 2023-07-07 19:27:46 浏览: 125
在MySQL中,你可以使用DATE_ADD和LAST_DAY函数来计算上月的最后一天日期。
首先,使用DATE_ADD函数将当前日期减去一个月:
```
SELECT DATE_ADD(NOW(), INTERVAL -1 MONTH)
```
这会返回当前日期的上一个月的日期。例如,如果今天是2021年9月1日,那么上面的查询会返回2021年8月1日。
然后,使用LAST_DAY函数计算上一个月份的月末日期:
```
SELECT LAST_DAY(DATE_ADD(NOW(), INTERVAL -1 MONTH))
```
这会返回上一个月的最后一天日期。例如,如果今天是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;
```
这些语句都会返回上个月的最后一天,具体选择哪种方式取决于你所使用的数据库系统。
mysql date_format 输入一个日期求上月初日期
可以使用以下语句:
SELECT DATE_FORMAT(DATE_SUB('输入日期', INTERVAL DAY('输入日期')-1 DAY), '%Y-%m-%d');
其中,'输入日期'应该替换为你输入的日期,如'2021-03-15'。这个语句会返回输入日期的上个月的第一天的日期,如以上输入的结果为'2021-02-01'。
阅读全文
相关推荐







