PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : postgresql und to_date()



f0rtex
11-01-2003, 18:37
Hallo Leute

Wenn ich bei Oracle z.B. folgendes Query absetze


insert into Besucher values
('Müller','Heinrich','Kirchweg',
to_date('1.3.1945','dd.mm.yyyy'));


liefert mir ein


SQL> select * from buf.besucher
2 where name='Müller' AND vorname='Heinrich';

NAME VORNAME STRASSE GEBTAG
-------------------- -------------------- -------------------- --------
Müller Heinrich Kirchweg 01.03.45


die gewünschte Reihenfolge.

Wenn ich jedoch gleiches insert-Query in postgresql absetze, bekomme ich mit dem gleichen Select-query


name | vorname | strasse | gebtag
--------+----------+----------+------------
Müller | Heinrich | Kirchweg | 1945-03-01


wo die Reihenfolgen nicht dd.mm.yyyy entspricht.

Weiss jemand woran das liegt?

MfG
f0rtex

Christoph
13-01-2003, 07:57
Dein Insert hat offensichtlich korrekt geklappt.
Die Ausgabe beim Select hängt allerdings von der Variablen DATESTYLE ab.
Kannst Du mit "SET DATESTYLE TO GERMAN" für die aktuelle Session setzen.

Das mag für psql praktisch sein, im allgemeinen ist es aber besser
(auch bei Oracle, weil man besser keine Annahmen über die Default-Foramtierung
des Datums machen soltle) alle Datumsfelder explizit mit to_char() in das
gewünschte Format zu konvertieren; das klappt dann mit jeder SQL2-Datenbank.