Datumswerte aufzählen
-
Hallo Forum,
wie kann man mit SQL aufzählen? ZB möchte ich die Zahlen von 1 bis 60 in 3er Schritten aufzählen: 1, 3, 6, ... 60.
Ich benutze MS SQL Server 2008, auf den Nachfolgern soll das Stmnt natürlich auch laufen. Eine Stored Prozedure möchte ich vermeiden. Wenn alle Stricke reissen, dann schreibe ich Code der mir ein Stmnt jedes Mal generiert.
Vielen Dank
Peter
-
Was verstehst du unter "aufzählen"?
Willst du die Werte mit PRINT ausgeben, oder willst du ein Result-Set wo pro "aufgezählter" Zahl eine Zeile drinnen ist?
-
Falls du ein Result-Set brauchst:
http://sqlperformance.com/2013/01/t-sql-queries/generate-a-set-1Und falls du einfach nur irgendwas ausführen willst (PRINT oder auch irgendwelche Stored-Procedures aufrufen), dann einfach ne Schleife machen. Die Syntax dafür sollte sich leicht ergoogeln lassen.
-
Es geht darum zu einem Vertrag der intervallweise abgerechnet wird alle Intervall Ende Datumsangaben aufzuzählen.
-- Beispiel Vertrag: 2 Jahre Laufzeit, quartalsweise Abrechnung.
WITH MonthsAdd (Numbers) AS (
SELECT TOP (2*(12/3)) n = 3*ROW_NUMBER() OVER (ORDER BY number)
FROM [master]..spt_values ORDER BY n
)-- Vertrag beginnt am 2016.Jan.13. Zähle alle Abrechnungszeitpunkte des Vertrages auf:
SELECT DATEADD(m, Numbers, '20160113') AS AbrechnungsZeitpunkte FROM MonthsAdd;Ergebnis:
AbrechnungsZeitpunkte
2016-04-13 00:00:00.000
2016-07-13 00:00:00.000
2016-10-13 00:00:00.000
2017-01-13 00:00:00.000
2017-04-13 00:00:00.000
2017-07-13 00:00:00.000
2017-10-13 00:00:00.000
2018-01-13 00:00:00.000Funktioniert. Vielen Dank