0

日付のフィールド+WeekDayIDという名前のフィールド(sun = 0、mon = 1、tue = 2、wed = 3、thu = 4、fri = 5、sat = 6)+他のフィールド(重要ではない)を含むテーブルがあります言及するために)、そして私は2つのレポートが必要です:
1。月に
基づく2.週 に基づく

レポート番号1を作成しました

私の質問は、レポート2をどのように達成できるかということです。これを実現するものが必要です。


2001/01/01から2001/01/31までの日付があるとしましょう

たとえば、2001/01/01が日曜日の場合、すべての日を週ごとにグループ化したいと思います。次のようなグループが必要です。

第1週:2001/01/01-2001/01/02-...-2001/01/07
第2週:2001/01/08-...-2001/01/14
第3週:2001/01/15 -... --2001 / 01/21
第4週:2001/01/22 --... --2001 / 01/28
第5週:2001/01/29-2001/01 / 30-2001/01/31

4

1 に答える 1

1

週番号の場合、最初のパラメーターに値'ww'を指定してDatepart関数を使用できます。

SELECT Datepart(ww, myDate) FROM myTable

日付範囲については、いくつかの数学的なトリックを行うことができます。曜日を曜日に差し引いて、週の最初の日を取得します。

SELECT DateAdd(day, - DatePart(weekday, myDate), myDate) Week_Start
from myTable

ここに、DatePart関数へのリンクがあります。

http://msdn.microsoft.com/es-es/library/ms174420.aspx

于 2012-08-16T12:49:35.643 に答える