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

SQL日期范围查询异常求助:2021年全年数据仅返回部分时段

问题说明

需要从数据库提取2021年1月1日至12月31日的信息,要求每周首日为周一(而非默认周日),但当前SQL查询仅返回2021年1月7日至9月16日的数据。我搞不懂DATEADD、DATEDIFF函数的工作逻辑,希望得到帮助。

当前使用的SQL语句
SELECT
a.ModifiedOn AS Week,
COUNT(a.ActivityId) AS Count
FROM ActivityPointer AS a 
WHERE 
a.ModifiedOn >= DATEADD(week, DATEDIFF(week, -1,DATEADD(week, 0, '2021')), 0) 
AND
a.ModifiedOn <= DATEADD(week, DATEDIFF(week, -5,DATEADD(week,43, '2021')), -1) 
AND
a.ActivityTypeCode IN ('4201','4210','4212') 
AND a.OwnerId IN('3C696B18-BFF4-E911-A68A-005056A18C45',  
'DDD1597F-4FCD-E411-80D3-0050568973A1',   
'0AD3654A-7517-E011-B418-00505689002A',   
'98FA2C51-A296-EB11-A6AD-005056A18C45',   
'56C940A2-B396-EB11-A6AD-005056A18C45',   
'379C0CE5-D3D2-E911-8105-02BF0A0AC819') 
GROUP BY a.OwnerId,a.OwneridName,a.ModifiedOn
ORDER BY ModifiedOn desc
核心疑问点

我最困惑的是以下WHERE条件中的日期计算逻辑:

a.ModifiedOn >= DATEADD(week, DATEDIFF(week, -1,DATEADD(week, 0, '2021')), 0) 
AND
a.ModifiedOn <= DATEADD(week, DATEDIFF(week, -5,DATEADD(week,43, '2021')), -1) 

内容的提问来源于stack exchange,提问作者qwatro_

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 16:39:21