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

相关推荐
社恐码农9 分钟前
Hive开窗函数的进阶SQL案例
hive·hadoop·sql
百度Geek说23 分钟前
BaikalDB 架构演进实录:打造融合向量化与 MPP 的 HTAP 查询引擎
数据库·分布式·架构
Xy91039 分钟前
App Trace技术解析:传参安装、一键拉起与快速安装
数据库·程序员
朝九晚五ฺ44 分钟前
【MySQL基础】MySQL表操作全面指南:从创建到管理的深度解析
数据库·sql
AIGC_北苏1 小时前
Ubuntu 安装 Mysql 数据库
数据库·mysql·ubuntu
15942315632 小时前
QT使用WxSQLite3打开加密数据库并查询
数据库·qt·sqlite
程序员阿超的博客2 小时前
【数据篇】持久化核心:整合 JPA/MyBatis 实现优雅的数据库操作
数据库·mybatis
struggle20257 小时前
RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
数据库·typescript·neo4j
伤不起bb8 小时前
Redis 哨兵模式
数据库·redis·缓存