You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL如何从当前日期倒推6个月区间内提取首个月数据并修改现有脚本

SQL脚本修改方案

你需要的逻辑是从当前倒推6个月的区间中,排除最近5个月,仅取区间首月数据,对应datetimeInsert与当前日期的月份差刚好为6,直接修改原有WHERE条件即可:

基础修改版(沿用原有datediff逻辑)

select datetimeInsert, Part_no,qty
FROM  RECEIPT 
where 
datediff(month, datetimeInsert, getdate()) = 6

逻辑说明:datediff(month, datetimeInsert, getdate())计算两个日期的月份差值,等于6时刚好对应6个月区间的第一个月,差值0-5的近5个月数据会被直接排除。

性能优化版(适配索引场景)

如果datetimeInsert字段建有索引,推荐用下面的写法,避免对字段做函数运算,可以命中索引提升查询效率,同时避免日期边界计算误差:

select datetimeInsert, Part_no,qty
FROM  RECEIPT 
where 
-- 倒推第6个月的第一天
datetimeInsert >= DATEADD(month, DATEDIFF(month, 0, getdate()) -6, 0)
-- 倒推第5个月的第一天,不包含
AND datetimeInsert < DATEADD(month, DATEDIFF(month, 0, getdate()) -5, 0)

内容的提问来源于stack exchange,提问作者Sam Bin Ham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:36:00