请求修改SQL周末数据筛选条件,需包含周一中午12点前时段
针对需求修改的周末数据WHERE子句
你可以用以下逻辑来筛选符合要求的时段:
AND ( -- 周六全天或周日全天 DATENAME(dw, dd.date) IN ('Saturday', 'Sunday') OR -- 周一0点至12点 ( DATENAME(dw, dd.date) = 'Monday' AND DATEPART(HOUR, dd.date) BETWEEN 0 AND 11 ) )
逻辑说明:
- 第一部分直接匹配周六和周日的所有记录,覆盖全天时段
- 第二部分先匹配周一的日期,再通过
DATEPART(HOUR, ...)提取小时数,筛选出0到11点(对应00:00-12:00;如果需要包含12点整的记录,可将条件改为BETWEEN 0 AND 12,根据实际需求调整)
注意:如果dd.date字段仅包含日期无时间信息,需确认是否有单独的时间字段,再补充对应时间判断逻辑;若时间默认是00:00,那周一的筛选仅能覆盖0点整的记录,需结合实际字段情况调整。
内容的提问来源于stack exchange,提问作者DaBears3579
相关产品推荐
相关产品推荐

