SQL zum erstellen der Tabelle mit Wochen-Frist - mit Pausen am Monatsende (Oracle)
Brauche ich zum erstellen einer Tabelle mit der folgenden Struktur:
Kalender Woche; Woche start-Datum, Ende der Woche Datum
enthält alle Wochen-Beginn in 2007, bis die aktuelle Woche.
Das Besondere an der Sache ist, dass, wenn Ende des Monats fällt in eine Woche, die Woche wird geschnitten in zwei Scheiben - ein Rekord, der hat ein start-Datum, das den Anfang der Woche-und das Enddatum ist der Letzte Tag des Monats, und einen Datensatz enthält die Termine für den rest der Woche (start-Datum ist der erste des neuen Monats, wird das Enddatum ist der Letzte Tag der Woche).
Beispiel (Anfang der Woche ist Montag):
calendar week; week start date; week end date;
...
2009 cW48; 23.11.2009; 29.11.2009
--"normal" week with 7 days, beginning monday and ending sunday
2009 cW49; 30.11.2009; 30.11.2009
--first part of the CW49, which ends at last day of the month
2009 cW49; 01.12.2009; 06.12.2009
--second part of the CW49, which begins at fist day of the new month
2009 cW50; 07.12.2009; 13.12.2009
--"normal" week, without a monthly break
...
Wie erstellen Sie eine solche Tabelle in Oracle (SQL und PL SQL)?
Danke,
Hinsichtlich
Nadine
Version ist Oracle 10g
InformationsquelleAutor hihops | 2009-12-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
könnte man erstellen Sie Ihre Tabelle wie diese:
InformationsquelleAutor Vincent Malgrat
dies ist eine kleine PL/SQL-block, um Ihre Tabelle zu erstellen.
Ändern Sie den Tabellennamen, wenn Sie wollen.
InformationsquelleAutor karsany
Können Sie die Tabelle auf diese Weise:
Dem Punkt in Gebrauch
IW
undMM
format Maske, um die Nummer der Woche und des Monats, und dann die Ergebnisse der Gruppe von beiden.InformationsquelleAutor Egor Rogov