DATE Format bei Oracle

Hi zusammen,

gibt es bei Oracle Datenbanken einen wirklichen(!) Datentyp DATE, der das Format dd.mm.yyyy aufweist? Bei Oracle 8 kommt der Datentyp DATE leider einem Timestamp gleich, was ich absolut nicht gebrauchen kann. Es gibt zwar die Möglichkeit, das Datum in einen String der Form „dd.mm.yyyy“ zu bringen, doch würde das wiederum bei einer Sortierung nur Müll zutage bringen.
yyyy-mm-dd kommt nicht in Frage, da ich das deutsche Datumsformat benötige.
Weiß jemand Rat?

Danke und Gruß
Andi

Wo ist Dein Problem?
Alternativen:
select to_date(datum, 'dd.mm.yyyy) from tabelle order by datum;

Oder:

alter session set nls_date_format = ‚dd.mm.yyyy‘;
select datum from tabelle order by datum;

Gruß

J.

Hallo Andi,

leider stellst du nur dar, was du nicht gebrauchen kannst und ergänzt dies durch allgemeine bekannte Fakten. Sag uns doch einfach, was du gebrauchen könntest. Ich hatte noch nie ein Problem mit dem Oracle DATE-Format, auch nicht bei Sortierungen.

Gruß der Janus

Hallo Janus,

also ich möchte eine Tabelle mit einem einfachen Datumsfeld anlegen. Der Typ DATE würde zwar funktionieren, doch benötige ich nicht den beigefügten Zeitstempel, der eh mit 00:00:00 initialisiert wird. Zum einen soll so Speicherplatz gespart werden, zum anderen soll der Abgleich mit unserer DB2 Datenbank (die DATE Felder als reines Datum versteht) einfacher werden. Ein CHAR Feld der Form „DD.MM.YYYY“ kommt wie gesagt nicht in Frage, da damit kein vernünftiges Sortieren möglich ist.

Gruß Andi

Hi Andi,

warum legst Du nicht ein CHAR(8) Feld an,
und speicherst das Datum in der Reihenfolge YYYYMMDD.

Du konntest dann zwei PL/SQL Funktionen erstellen:
Eine um aus der Zeichenkette wieder ein Datum zu machen
und die andere um ein Datum zu speichern.

Mit der Sortierung hast Du dann keinen Ärger mehr. Bei
Abfragen mit select rufst Du dann die Funktion mit
der Spalte auf und Du bekommst Dein Datum.

Hoffe das hilft

Andreas

Hi,
das geht sicherlich alles. Ich sehe aber nicht den Sinn darin.

Würde der Datentyp zuwenig Informationen bieten, könnte ich verstehen, daß man sich einen Ausweg überlegt. Der bietet aber mehr, d.h. man kann die Uhrzeit einfach auf 00:00:00 belassen und damit hat sich’s.

Der einzige Grund, das ändern zu wollen, wäre für mich die Verschwendung von Speicherplatz, aber angesichts a) der heutigen Plattenpreise und b) der sonstigen Verschwendung an allen möglichen Stellen ist es einfach lächerlich, mal hier evtl. 2 Byte sparen zu wollen.

Das Thema Sortierung und Formatierung habe ich schon an anderer Stelle behandelt.

Gruß

J.