É muito comum fazermos alguns selects e querermos que os dados retornem formadados, como por exemplo a data. Vou exemplificar aqui alguns exemplos mais comuns de formatação que usamos no nosso dia-a-dia.
Vou sempre colocar o exemplo do dado original seguido do exemplo do dado formatado.
Pegando apenas a data de um tipo timestamp.
postgres=# SELECT current_timestamp, to_char(current_timestamp, 'DD/MM/YYYY') ; now | to_char -------------------------------+------------ 2010-05-05 15:05:49.981577-04 | 05/05/2010 (1 row)
Formatando hora
postgres=# SELECT current_timestamp, to_char(current_timestamp, 'HH24:MI:SS') ; now | to_char -------------------------------+---------- 2010-05-05 15:10:22.454159-04 | 15:10:22 (1 row)
Formatando data e hora
postgres=# SELECT current_timestamp, to_char(current_timestamp, 'DD/MM/YYYY HH24:MI:SS') ; now | to_char -------------------------------+--------------------- 2010-05-05 15:11:09.345058-04 | 05/05/2010 15:11:09 (1 row)
Formatando numero.
postgres=# SELECT to_char(125.8, '999D99'); to_char --------- 125,80 (1 row)