在 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 的日期函数和运算符来精确地过滤所需的时间范围,从而方便地检索数据库中的数据。

相关推荐
爱丽_4 小时前
Redis 分布式锁:SET NX、过期时间、续租、可重入、Redlock 与坑
数据库·redis·分布式
IT小崔4 小时前
SqlSugar 使用教程
数据库·后端
GIS阵地4 小时前
QgsProviderMetadata 详解(基于 QGIS 3.40.13 API)
数据库·qt·arcgis·oracle·gis·开源软件·qgis
qq_366086225 小时前
sql server OUTER APPLY使用
数据库·sql·mysql
Sunshine for you5 小时前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
qwehjk20085 小时前
如何从Python初学者进阶为专家?
jvm·数据库·python
zzh0815 小时前
Mysql数据库备份与恢复笔记
数据库·笔记·mysql
枕布响丸辣5 小时前
MySQL 数据库备份与恢复全攻略:从基础到实战
数据库·oracle
IvorySQL5 小时前
PostgreSQL 技术日报 (3月31日)|五大内核模块补丁评审与问题修复汇总
数据库·postgresql·开源
IvorySQL5 小时前
最后 1 天!HOW 2026 早鸟票收官,赴济南解锁开源数据库未来
数据库·postgresql·开源