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

相关推荐
Oo大司命oO1 小时前
藏在正则表达式里的陷阱
数据库·mysql·正则表达式
_oP_i2 小时前
mysql统计数据库使用存储大小
数据库
会编程的土豆3 小时前
MySQL 入门:库、表、行、主键是什么
linux·数据库·网络协议·http
jjjava2.03 小时前
系统日志:从入门到精通的完整指南
网络·数据库
写代码的强哥3 小时前
云原生数据库与传统数据库相比“新”在哪里
数据库·云原生·架构
吴声子夜歌4 小时前
MongoDB 4.2——查询
数据库·mongodb
xieliyu.6 小时前
MySQL 存储过程详解:概念、创建与删除全教程
开发语言·数据库·mysql
ttwuai6 小时前
AI 生成后台删除按钮后,MySQL 软删除和唯一索引怎么验
数据库·mysql·golang
想你依然心痛6 小时前
用MySQL玩转数据可视化:从SQL查询到动态图表的完整实战
sql·mysql·信息可视化