sql怎么取上月同期
时间: 2024-10-18 17:10:07 浏览: 9
易语言取SQL服务器列表
在SQL查询中,取上个月同一天的数据通常涉及到日期函数的使用,具体取决于你使用的数据库管理系统。以下是一个通用的例子,假设你有一个名为`sales`的表,其中包含`sale_date`字段记录销售日期:
```sql
SELECT * FROM sales
WHERE sale_date = DATE_SUB(CURDATE(), INTERVAL 1 MONTH) AND DAY(sale_date) = DAY(CURDATE());
```
这个查询做了两件事:
1. `CURDATE()`获取当前日期。
2. `DATE_SUB(CURDATE(), INTERVAL 1 MONTH)`减去一个月,得到上个月的日期。
3. `DAY(sale_date) = DAY(CURDATE())`确保只选择与今天同一天的日期,因为上个月可能有30天或31天,也可能有28、29天。
如果你使用的是MySQL,还可以简化为:
```sql
SELECT * FROM sales
WHERE sale_date IN (LAST_DAY(NOW() - INTERVAL 1 MONTH), LAST_DAY(NOW()));
```
这里`LAST_DAY()`会返回给定日期的最后一天,即上个月的最后一天。
阅读全文