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

相关推荐
他是龙55110 小时前
43:SQL注入进阶(请求类型、方法与格式实战)
数据库·sql
木卫二号Coding10 小时前
affine+docker+postgresql+备份数据库
数据库·docker·容器
云和数据.ChenGuang10 小时前
openEuler系统下安装MongoDB的技术教程
运维·数据库·mongodb·压力测试·运维工程师·运维技术
SelectDB10 小时前
Apache Doris AI 能力揭秘(四):HSAP 一体化混合搜索架构全解
数据库·人工智能·agent
程序人生51811 小时前
解决Dbeaver 连上 MySQL 数据库后不显示 information_schame、mysql 等数据库
数据库·mysql
与衫11 小时前
SQLFlow × 高斯数据库:构建可治理、可追溯的数据底座
数据库·oracle
小小测试开发11 小时前
SQL常用语法全解析:从入门到进阶的实战指南
数据库·sql
暗之星瞳11 小时前
mysql练习
数据库·mysql
月上林梢11 小时前
QT圆形加载进度条
数据库·c++·qt·进度条
38242782711 小时前
汇编:条件汇编、
前端·汇编·数据库