1

現在の式を取得して、週の終了日を取得する方法がわかりません。

現在の式は、今日から1週間後の日付を返します。

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

代わりに、その週の終了日(土曜日)を返すようにします。

目的の結果を得るには、この式に何を追加する必要がありますか?

ありがとう!

さて、私はそれを持っているように見えますが、それは醜いです。誰かが私がこれを合理化するのを手伝ってもらえますか?

Rajの例を式に変換することに基づいて、私が持っているものは次のとおりです。

="1週間の予測バックログw/e"&DateAdd(DateInterval.Day、-1 * DatePart(DateInterval.WeekDay、(DateAdd(DateInterval.WeekOfYear、1、today())))+ 7、(DateAdd(DateInterval.WeekOfYear 、1、today())))

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 に答える