1

不知道如何接受我当前的表达并获得一周的结束日期。

我当前的表达式返回日期,从今天开始一周。

DateAdd(DateInterval.WeekOfYear, 1, today())

我想要做的是返回该周的结束日期(星期六)。

我需要在此表达式中添加什么才能获得所需的结果?

谢谢!

好吧,看起来我已经明白了,但它很难看。谁能帮我简化这个?

这是我所拥有的,基于将 Raj 的示例转换为表达式:

="One Week Projected Backlog w/e "& DateAdd(DateInterval.Day, -1 * DatePart(DateInterval.WeekDay, (DateAdd(DateInterval.WeekOfYear, 1, today()))) + 7, (DateAdd(DateInterval.WeekOfYear , 1, 今天())))

4

2 回答 2

6

试试这个

Declare @DateValue DateTime = '3/1/2010'

select DATEADD (D, -1 * DatePart (DW, @DateValue) + 7, @DateValue)

我基本上计算了一周中的哪一天,然后是传入日期,然后用 -1 乘数软计算一周的开始,并通过将 7 添加到星期六向前遍历。

当然,这仅在您将 SQL Server 设置为从星期日开始的一周时才有效

对于 SQL Server 报告服务,我认为这应该适用于本周的星期六

DATEADD (DateInterval.Day, -1 * DatePart (DateInterval.DayOfWeek, Today()) + 7, Today())

下周星期六

DATEADD (DateInterval.Day, -1 * DatePart (DateInterval.DayOfWeek, Today()) + 14, Today())
于 2010-03-16T19:49:00.490 回答
0

怎么样?

select dateadd(ww,-2,'1-27-2014')+4
于 2014-01-29T15:42:31.287 回答