sql server 日期查询当天,当月,上个月,当年的数据sql语句
时间: 2024-09-23 09:10:24 浏览: 96
在SQL Server中,你可以使用各种函数来查询特定日期范围的数据。以下是查询当前日期、本月、上个月和本年的基本SQL语句:
1. **查询当前日期**:
```sql
SELECT * FROM your_table
WHERE date_column = GETDATE();
```
`GETDATE()` 函数返回当前系统日期。
2. **查询本月日期**:
```sql
SELECT * FROM your_table
WHERE date_column >= DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)
AND date_column < DATEADD(day, 1, DATEADD(month, DATEDIFF(month, 0, GETDATE()) + 1, 0));
```
这里我们使用 `DATEADD` 和 `DATEDIFF` 来获取本月的第一天和下个月第一天之间的日期。
3. **查询上个月日期**:
```sql
SELECT * FROM your_table
WHERE date_column >= DATEADD(month, DATEDIFF(month, 0, GETDATE()) - 1, 0)
AND date_column < DATEADD(day, 1, DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0));
```
上个月日期范围是从上个月的第一天到这个月的第一天前一天。
4. **查询当年日期**:
```sql
SELECT * FROM your_table
WHERE date_column >= DATEADD(year, DATEDIFF(year, 0, GETDATE()), 0)
AND date_column < DATEADD(year, DATEDIFF(year, 0, GETDATE()) + 1, 0);
```
这里的范围是今年的1月1日到下一年的1月1日之前一天。
注意替换 `your_table` 为你的实际表名,`date_column` 为你想要查询日期的列名。
阅读全文