Order-By-Bug für Timestamp?

Fragen und Probleme rund um die Abfragespache SQL.

Order-By-Bug für Timestamp?

Beitragvon joergmkam » Mo 12. Jan 2009, 11:39

Also entweder ich mache irgendwas gehörig falsch oder es gibt einen gravierenden Bug in postgres...
Hier mal mein Beispiel-Setting:
Code: Alles auswählen

CREATE TABLE test (
    atext text,
    times timestamp with time zone
);



COPY test (atext, times) FROM stdin;
text    2009-01-06 16:48:24+01 BC
text2    2008-01-06 16:48:24+01 BC
text3    2009-12-06 16:48:24+01 BC
text4    2007-01-06 16:48:24+01 BC
\.



Falls ich nun mit

Code: Alles auswählen
SELECT * from test order by times DESC;


mir die Einträge, sortiert nach Datum absteigend, ausgeben lasse, sortiert Postgres korrekt die Monate und Tage absteigend, die Jahre jedoch aufsteigend. Nehm ich das DESC heraus, ist es genau andersherum...

Kann das jemand so bestätigen?
joergmkam
Neuer Benutzer
 
Beiträge: 4
Registriert: Do 19. Jun 2008, 16:21

Beitragvon akretschmer » Mo 12. Jan 2009, 11:47

joergmkam hat geschrieben:Also entweder ich mache irgendwas gehörig falsch oder es gibt einen gravierenden Bug in postgres...
Hier mal mein Beispiel-Setting:
Code: Alles auswählen

CREATE TABLE test (
    atext text,
    times timestamp with time zone
);



COPY test (atext, times) FROM stdin;
text    2009-01-06 16:48:24+01 BC
text2    2008-01-06 16:48:24+01 BC
text3    2009-12-06 16:48:24+01 BC
text4    2007-01-06 16:48:24+01 BC
\.



Falls ich nun mit

Code: Alles auswählen
SELECT * from test order by times DESC;


mir die Einträge, sortiert nach Datum absteigend, ausgeben lasse, sortiert Postgres korrekt die Monate und Tage absteigend, die Jahre jedoch aufsteigend. Nehm ich das DESC heraus, ist es genau andersherum...

Kann das jemand so bestätigen?



Dir ist aber schon klar, daß BC 'Before Christi' bedeutet?

Andreas
--
ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)

https://www.xing.com/profile/Andreas_Kretschmer7
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5954
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon joergmkam » Mo 12. Jan 2009, 11:55

DANKE! Ich hätte hier noch Stunden gesucht, aber darauf hab ich nicht geachtet.

Wenn ich noch anmerken darf, dass das "BC" kommt nicht von mir, sondern wurde von einer Bibliothek (Hibernate) da reingeschmuggelt.
joergmkam
Neuer Benutzer
 
Beiträge: 4
Registriert: Do 19. Jun 2008, 16:21

Beitragvon ads » Mo 12. Jan 2009, 12:23

Dann wirst du wohl schauen müssen, warum dort eine aktuelle Jahreszahl, aber "vor Christus" eingefügt wird. Da ist wohl etwas falsch eingestellt.

Wieder mal ein Grund, warum man komplexe Abstraktionlayer wie Hibernate eigentlich nicht möchte. Solange alles funktioniert - schön. Aber man hat keine Ahnung, was die Software im Hintergrund macht - oder welche weniger offensichtlichen Fehler produziert werden.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören Bild

Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

PostgreSQL Service & Support
ads
Erfahrener Benutzer
 
Beiträge: 4147
Registriert: Mi 8. Feb 2006, 11:58
Wohnort: MD


Zurück zu SQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast