Benutzer mit den meisten Antworten
Datumliste erzeugen

Frage
-
Antworten
-
Hallo Michael, das folgende Beispiel kannst Du sicher einfach anpassen, oder?
WITH Kalender AS ( SELECT CAST('20100201' AS DATETIME) AS [Tag] -- die explizite Konvertierung (cast) ohne Trennzeichen verwendet yyyymmdd unabhängig von der Sprache UNION ALL -- die explizite Konvertierung (cast) mit Trennzeichen würde die Sprache berücksichtigen SELECT DATEADD(dd, 1, [Tag]) FROM Kalender WHERE DATEADD(dd, 1, [Tag] ) <= '20100301' ) Select convert(varchar(10),k.Tag,104) as Datum, datename(DW,k.Tag) as Wochentag from Kalender k order by tag OPTION ( MAXRECURSION 0 ) ; -- Ohne diesen Hinweis würde die Rekursion bei 100 Tagen stoppen. Fatal bei einem längeren Zeitraum. ;
Einen schönen Tag noch,
Christoph
Microsoft SQL Server MVP
http://www.insidesql.org- Als Antwort vorgeschlagen Elmar Boye Donnerstag, 15. Juli 2010 07:02
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 15. Juli 2010 08:02
Alle Antworten
-
Hallo Michael, das folgende Beispiel kannst Du sicher einfach anpassen, oder?
WITH Kalender AS ( SELECT CAST('20100201' AS DATETIME) AS [Tag] -- die explizite Konvertierung (cast) ohne Trennzeichen verwendet yyyymmdd unabhängig von der Sprache UNION ALL -- die explizite Konvertierung (cast) mit Trennzeichen würde die Sprache berücksichtigen SELECT DATEADD(dd, 1, [Tag]) FROM Kalender WHERE DATEADD(dd, 1, [Tag] ) <= '20100301' ) Select convert(varchar(10),k.Tag,104) as Datum, datename(DW,k.Tag) as Wochentag from Kalender k order by tag OPTION ( MAXRECURSION 0 ) ; -- Ohne diesen Hinweis würde die Rekursion bei 100 Tagen stoppen. Fatal bei einem längeren Zeitraum. ;
Einen schönen Tag noch,
Christoph
Microsoft SQL Server MVP
http://www.insidesql.org- Als Antwort vorgeschlagen Elmar Boye Donnerstag, 15. Juli 2010 07:02
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 15. Juli 2010 08:02
-
Hallo ChristophDas ist genau das, was ich suche. Vielen DankMichael<Christoph Muthmann> wrote in message news:d07716d2-0596-45ab-b6ab-6669e68f4778@communitybridge.codeplex .com...
Hallo Michael, das folgende Beispiel kannst Du sicher einfach anpassen, oder?
WITH Kalender AS ( SELECT CAST('20100201' AS DATETIME) AS [Tag] -- die explizite Konvertierung (cast) ohne Trennzeichen verwendet yyyymmdd unabhängig von der Sprache UNION ALL -- die explizite Konvertierung (cast) mit Trennzeichen würde die Sprache berücksichtigen SELECT DATEADD(dd, 1, [Tag]) FROM Kalender WHERE DATEADD(dd, 1, [Tag] ) <= '20100301' ) Select convert(varchar(10),k.Tag,104) as Datum, datename(DW,k.Tag) as Wochentag from Kalender k order by tag OPTION ( MAXRECURSION 0 ) ; -- Ohne diesen Hinweis würde die Rekursion bei 100 Tagen stoppen. Fatal bei einem längeren Zeitraum. ;
Einen schönen Tag noch,
Christoph
Microsoft SQL Server MVP
http://www.insidesql.org