在 SQL Server 中使用 SQL 语句查询不同时间范围的数据

在 SQL Server 中,我们经常需要从数据库中检索特定时间范围内的数据。通过合理运用 SQL 语句,我们可以轻松地查询今天、昨天、近7天、近30天、一个月内、上一月、本年和去年的数据。下面是一些示例 SQL 查询,让我们逐一了解。

查询今天的数据

sql 复制代码
SELECT * FROM your_table
WHERE YourDateColumn >= CONVERT(DATE, GETDATE());

查询昨天的数据

sql 复制代码
SELECT * FROM your_table
WHERE YourDateColumn >= CONVERT(DATE, GETDATE() - 1)
  AND YourDateColumn < CONVERT(DATE, GETDATE());

查询近7天的数据

sql 复制代码
SELECT * FROM your_table
WHERE YourDateColumn >= CONVERT(DATE, GETDATE() - 6)
  AND YourDateColumn < CONVERT(DATE, GETDATE() + 1);

查询近30天的数据

sql 复制代码
SELECT * FROM your_table
WHERE YourDateColumn >= CONVERT(DATE, GETDATE() - 29)
  AND YourDateColumn < CONVERT(DATE, GETDATE() + 1);

查询一个月内的数据

sql 复制代码
SELECT * FROM your_table
WHERE YourDateColumn >= DATEADD(MONTH, -1, GETDATE());

查询上一月的数据

sql 复制代码
SELECT * FROM your_table
WHERE YourDateColumn >= DATEFROMPARTS(YEAR(GETDATE()), 1, 1)
  AND YourDateColumn < DATEFROMPARTS(YEAR(GETDATE()) + 1, 1, 1);

查询本年的数据

sql 复制代码
SELECT * FROM your_table
WHERE YourDateColumn >= DATEFROMPARTS(YEAR(GETDATE()), 1, 1)
  AND YourDateColumn < DATEFROMPARTS(YEAR(GETDATE()) + 1, 1, 1);

查询去年的数据

sql 复制代码
SELECT * FROM your_table
WHERE YourDateColumn >= DATEFROMPARTS(YEAR(GETDATE()) - 1, 1, 1)
  AND YourDateColumn < DATEFROMPARTS(YEAR(GETDATE()), 1, 1);

在上述查询中,your_table 代表你的实际表名,YourDateColumn 代表包含日期信息的列名。这些查询利用 SQL Server 的日期函数和运算符来精确地过滤所需的时间范围,从而方便地检索数据库中的数据。

相关推荐
TDengine (老段)几秒前
TDengine 选择函数 Max() 用户手册
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
驾驭人生9 分钟前
Asp .Net Core 系列:Asp .Net Core 集成 Hangfire+MySQL
数据库·mysql·.netcore
float_六七17 分钟前
预编译SQL:安全与性能的双重保障
sql·安全·oracle
xhbh66629 分钟前
不止是DELETE:MySQL多表关联删除的JOIN语法实战详解
数据库·mysql·程序员·mysql删除语句
不掰手腕44 分钟前
在UnionTech OS Server 20 (统信UOS服务器版) 上离线安装PostgreSQL (pgsql) 数据库
linux·数据库·postgresql
MAGICIAN...44 分钟前
【Redis五种数据类型】
数据库·redis·缓存
yddddddy1 小时前
SQLite的基本操作
数据库·sqlite
华科云商xiao徐1 小时前
Java并发编程常见“坑”与填坑指南
javascript·数据库·爬虫
广州腾科助你拿下华为认证2 小时前
PostgreSQL认证_PGCM考试难度有多大?
数据库·postgresql