在 SQL Server 中利用日期格式化查询不同时间范围的数据

在 SQL Server 数据库中,经常需要按照不同的时间范围检索数据。通过巧妙使用 SQL 语句,我们可以轻松地查询今天、昨天、近7天、近30天、一个月内、上一月、本年和去年的数据。以下是使用日期格式化的示例查询:

查询今天的数据

sql 复制代码
SELECT * FROM your_table
WHERE FORMAT(YourDateColumn, 'yyyy-MM-dd') = FORMAT(GETDATE(), 'yyyy-MM-dd');

查询昨天的数据

sql 复制代码
SELECT * FROM your_table
WHERE FORMAT(YourDateColumn, 'yyyy-MM-dd') = FORMAT(DATEADD(DAY, -1, GETDATE()), 'yyyy-MM-dd');

查询近7天的数据

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

查询近30天的数据

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

查询一个月内的数据

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

查询上一月的数据

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

查询本年的数据

sql 复制代码
SELECT * FROM your_table
WHERE FORMAT(YourDateColumn, 'yyyy') = FORMAT(GETDATE(), 'yyyy');

查询去年的数据

sql 复制代码
SELECT * FROM your_table
WHERE FORMAT(YourDateColumn, 'yyyy') = FORMAT(DATEADD(YEAR, -1, GETDATE()), 'yyyy');

在上述查询中,我们利用了 SQL Server 的 FORMAT 函数,将日期列格式化为特定的日期字符串,以便与当前日期或其他格式化后的日期进行比较。需要注意的是,使用日期格式化来查询可能会对性能产生一定的影响,因此在大型数据集上使用时需要谨慎。通过这些查询示例,你可以根据具体需求轻松获取所需时间范围内的数据。

相关推荐
沫璃染墨6 分钟前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
XLYcmy20 分钟前
信息检索报告数字经济赋能城市低碳治理的路径研究——基于“传统数据库 + 生成式人工智能”双轮驱动的检索实践 检索实施与结果分析 Web of Science
数据库·ai·llm·prompt·ssci·deepseek·wos
Decay__25 分钟前
21_MySQL 优化案例集 —— 慢 SQL 优化、索引重构与参数调整收益对比
运维·数据库·sql·mysql·架构
codigger1 小时前
MySQL 深分页优化:limit 100000, 10 慢在哪,怎么救
数据库·sql·mysql·程序员
麦壳饼2 小时前
SonnetDB 5.0 正式发布:增强 SQL 与事务,开放九模型 MCP 读写
数据库·人工智能·sql·sonnetdb
Decay__11 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
java_logo11 小时前
Docker 部署 Liquibase:轻松搭建数据库变更管理
数据库·docker·容器·数据库管理·liquibase·轩辕镜像·数据库变更
凤凰院凶涛QAQ12 小时前
《MySQL内核拆解:从SQL到InnoDB》(四) : 联合查询 & 视图
数据库·sql·mysql
码农小河6612 小时前
基于SSM+JSP的高校专业信息管理系统【附源码+数据库】
java·开发语言·数据库
张小姐的猫12 小时前
【MySQL】访问 & 数据流动原理
android·数据库·mysql·adb·1024程序员节