Oracle Sql Kalenderwoche

xXchrissiXx

Mitglied
hallo!!

ich habe folgendes problem...

Ich muss ein INSERT in eine Tabelle machen in der ich in einer spalte die Kalenderwoche und in der andern das Jahr rein schreiben muss... Das geht alles vom Heutigen datum aus also: SYSDATE..

ich habs jetzt mal so probiert:

to_date(sysdate, 'WW')
to_date(sysdate,'YYYY')

aber des funktioniert leider nicht....

Danke schon mal für eure hilfe!!

gruß chrissi
 
Hallo,

SYSDATE ist bereits vom Typ Datetime. Daher musst du die TO_CHAR Funktion benutzen
Wenn es sich beim Ergebnis wieder um einen String handeln sollte, der aber eine Zahl repräsentiert, kannst du diesen ja wieder in eine Zahl umwandeln mit TO_NUMBER()

Also z.B. so:

SQL:
TO_CHAR(SYSDATE,'YYYY')
TO_CHAR(SYSDATE,'WW')

bzw.

TO_NUMBER(TO_CHAR(SYSDATE,'YYYY')) und
TO_NUMBER(TO_CHAR(SYSDATE,'WW'))

Markus
 
nur als kleine Ergänzung: Wochen sind eine ganz besonders unerfreuliche Zeiteinheit, weil sie weder in die Monate noch ins Jahr passen. Man sollte sich deshalb genau überlegen, welche Wochendefinition man eigentlich verwenden möchte:

WW - Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.

IW - Week of year (1-52 or 1-53) based on the ISO standard.

also z.B.:

SQL:
SQL> select to_char(to_date('01.01.2005'), 'ww') from dual;

TO
--
01

SQL> select to_char(to_date('01.01.2005'), 'iw') from dual;

TO
--
53

Gruß

MP
 
Zuletzt bearbeitet von einem Moderator:
Zurück