PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

In Postgresql come ordinare per data mantenendo il formato della data personalizzato

La soluzione corretta e semplice è:

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

La colonna della data formattata foo è una colonna completamente nuova per il pianificatore di query, che è in conflitto con la colonna della tabella foo . Nelle clausole ORDER BY e GROUP BY, i nomi delle colonne di output hanno la precedenza sulle colonne della tabella. Il nome non qualificato foo farebbe riferimento alla colonna di output.

Per utilizzare la colonna della tabella originale nella clausola ORDER BY, è sufficiente qualificare come tabella la colonna .

Ho qualificato come tabella tutte le colonne della tabella per chiarire il mio punto. In questo caso sarebbe richiesto solo nella clausola ORDER BY. Alias ​​tabella b è solo per comodità.