Copying sources and texts (also in parts) for publishing without our permission is NOT ALLOWED. We are fed up with finding our work on other sites (like stackoverflow).
Das Kopieren von Quellcode und Texten (auch in Auszügen) ist nicht erlaubt. Wir haben es gründlich satt, unsere Arbeit auf anderen Webseiten zu finden.

Copying for non-public usage is allowed.           Das private Kopieren und Benutzen ist natürlich erlaubt und erwünscht.
01. Jul 2009
Teaser

Oracle: Kalenderwoche (KW) in Datum umrechnen

In Oracle kann aus einer Kalenderwoche (KW) einfach das Startdatum und Enddatum berechnet werden:

SELECT 
  TRUNC(TO_DATE('25112009', 'DDMMYYYY'), 'IYYY') + (26 - 1) * 7 AS date_from,
  TRUNC(TO_DATE('25112009', 'DDMMYYYY'), 'IYYY') + (26 - 1) * 7 + 6 AS date_to
FROM sys.dual;

Das Beispiel gilt für die Woche 26/2009. Für andere Kalenderwochen ändern Sie bitte beide Werte “26” im SQL Statement in Ihre gewünschte Woche um. Das Jahr (im Beispiel “2009”) ggf. ebenfalls angepasst werden.

Das folgende Beispiel zeigt Ihnen den Aufbau der Query:

SELECT 
  TRUNC(TO_DATE('2511[Jahr]', 'DDMMYYYY'), 'IYYY') + ([KW] - 1) * 7 AS date_from,
  TRUNC(TO_DATE('2511[Jahr]', 'DDMMYYYY'), 'IYYY') + ([KW] - 1) * 7 + 6 AS date_to
FROM sys.dual;

Dabei ist das Datum im SQL Befehl (hier der 25.11.) unwichtig.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

eins × zwei =