PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

In Postgresql, wie man nach Datum bestellt, während das benutzerdefinierte Datumsformat beibehalten wird

Die richtige und einfache Lösung ist:

SELECT to_char(b.foo,'dd/MM/yyyy') as foo, b.bar
FROM   baz b
ORDER  BY b.foo;

Die formatierte Datumsspalte foo ist eine völlig neue Spalte für den Abfrageplaner, die zufällig mit der Tabellenspalte foo kollidiert . In den Klauseln ORDER BY und GROUP BY haben die Namen der Ausgabespalten Vorrang vor den Tabellenspalten. Der nicht qualifizierte Name foo würde sich auf die Ausgabespalte beziehen.

Um die ursprüngliche Tabellenspalte in der ORDER BY-Klausel zu verwenden, qualifizieren Sie die Spalte einfach .

Ich habe alle Tabellenspalten tabellenqualifiziert, um meinen Punkt zu verdeutlichen. Wäre in diesem Fall nur in der ORDER BY-Klausel erforderlich. Tabellenalias b dient nur der Bequemlichkeit.