Hallo zusammen,
ich bin auf der Suche nach einem Scirpt, wo ich in einer Tabelle für irgendein Jahr folgende Werte bekomme:
- Kalenderwoche
- Anfangsdatum (Montag)
- Enddatum (Sonntag)
Ich brauche also 52 oder 53 Zeilen, je nach Jahr
Jetzt habe ich mir selbst etwas zusammengeschustert, es funktioniert auch, wenn ich die einzelne Kalenderwoche selectiere. Aber ich möchte alle Kalenderwochen für das jeweilige Jahr auswerfen und das bekomme ich nicht hin.
Hat jemand einen Tipp?
GO /****** Object: StoredProcedure [dbo].[Detailsaddupdate] Script Date: 01.03.2015 10:19:05 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Getkalenderwoche] @jahr SMALLINT --@woche SMALLINT AS BEGIN SET NOCOUNT ON; DECLARE @RefWeek SMALLINT, @RefDate DATETIME, @Days SMALLINT, @FirstDayOfWeek DATETIME, @aktdate DATETIME, @woche SMALLINT SET @woche = 1 WHILE ( @woche <= 53 ) SET @RefDate = CONVERT(DATETIME, CONVERT(CHAR(4), @Jahr) + '0201'); SET @RefWeek = Datepart(ISO_WEEK, @RefDate); SET @Days = 7 * ( @Woche - @RefWeek ) - Datepart(DW, @RefDate) + 1; SET @FirstDayOfWeek = Dateadd(d, @Days, @RefDate); SELECT dbo.Ddatum(@FirstDayOfWeek) AS firstday, dbo.Ddatum(@FirstDayOfWeek + 6) AS lastday, dbo.Getwoche(@FirstDayOfWeek) SET @woche = @woche + 1 END
Lieben Dank im vorraus.
Liebe Grüße, die Luzie!