在SQL中度过周末

在SQL中度过周末,sql,sql-server-2008,date,weekend,Sql,Sql Server 2008,Date,Weekend,我正在使用SQL server 2008,每天都有一个查询运行。 其中[Order Date]=getdate()-1 我需要一份周一运行的报表,如果可能的话,汇总周五、周六和周日的数据 谢谢 select case DATEPART(weekday,getdate()) when 2 then SUM(weekend just gone) else SUM(yesterday) end as totalamount from etc... 不过,你需要检查星期一是星期几 您可以这样做来选择特

我正在使用SQL server 2008,每天都有一个查询运行。
其中[Order Date]=getdate()-1 我需要一份周一运行的报表,如果可能的话,汇总周五、周六和周日的数据

谢谢

select
case DATEPART(weekday,getdate())
when 2 then SUM(weekend just gone)
else SUM(yesterday)
end as totalamount
from
etc...

不过,你需要检查星期一是星期几

您可以这样做来选择特定范围内的所有记录:

SELECT *
FROM your_table
WHERE ((DATEPART(dw, date_created) + @@DATEFIRST) % 7) IN (5,6,0)
其中:

5=星期五
6=星期六

0=星期日

您能提供到目前为止的情况吗?是什么让报告在星期一发表的?这份报告能告诉你上周末的统计数字吗,不管它是星期二、星期二还是星期二?相关的:不是所有的答案都必须完整,没有足够的数据来形成一个完整的例子。这只是使用datepart提供基本答案。人们不能在没有评论的情况下投票否决答案吗?以上代码是有效的,就我所知,它回答了这个问题。