sql server 通过 sql查询今天、本周、上周、本月、上月、今年、去年的时间范围

sql server 通过 sql查询今天、本周、上周、本月、上月、今年、去年的时间范围

因为经常用到,做个笔记记录下

复制代码
select 
/*今天*/
convert(varchar(10),CAST(GETDATE() AS DATE),120),
convert(varchar(10),CAST(GETDATE() AS DATE),120),
/*本周*/
convert(varchar(10),DATEADD(wk, DATEDIFF(wk, 7, GETDATE())+1, 0),120),
convert(varchar(10),DATEADD(DAY, 6, DATEADD(wk, DATEDIFF(wk, 7, GETDATE())+1, 0)),120), 
/*上周*/
convert(varchar(10),DATEADD(wk, DATEDIFF(wk, 7, GETDATE()), 0),120) ,
convert(varchar(10),DATEADD(DAY, 6, DATEADD(wk, DATEDIFF(wk, 7, GETDATE()), 0)),120),  
/*本月*/
convert(varchar(10),DATEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), 1),120) ,
convert(varchar(10),EOMONTH(GETDATE()),120) ,
/*上月*/
convert(varchar(10),DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 1, 0),120)  ,
convert(varchar(10),EOMONTH(DATEADD(MONTH, -1, GETDATE())),120),
/*今年*/
convert(varchar(10),DATEFROMPARTS(YEAR(GETDATE()), 1, 1),120),
convert(varchar(10),DATEFROMPARTS(YEAR(GETDATE()), 12, 31),120) ,
/*去年*/
convert(varchar(10),DATEFROMPARTS(YEAR(GETDATE()) - 1, 1, 1),120),
convert(varchar(10),DATEFROMPARTS(YEAR(GETDATE()) - 1, 12, 31),120)
相关推荐
我要见SA姐138 分钟前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
Nturmoils2 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶2 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕2 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql
码少女3 小时前
Linux--多路转接之select
java·服务器·数据库
梁辰兴3 小时前
软件工程:软件维护的副作用
数据库·软件工程·梁辰兴·控制方法·软件维护的副作用·副作用类型·副作用原因
这个DBA有点耶3 小时前
MySQL 8.0.20移除了Block Nested Loop,之前学的JOIN优化知识还适用吗?
数据库·mysql·架构
吉甫作诵3 小时前
Redis 常用命令大全:11 大类命令速查手册
运维·数据库·redis·缓存·nosql
2501_933670794 小时前
库存管理分析岗校招能力模型:SQL、库存周转、补货预测怎么准备
数据库
属于自己的天空4 小时前
不用再手动查表结构了:配好 MCP,Claude Code 自己读数据库生成代码
数据库·后端