Pular para o conteúdo principal
Documentos
Sintaxe básicaFunções JSONAcionadoresGerenciamento de tabelas e esquemasFunções de cadeia de caracteresFunções matemáticasFunções de dataBancos de dadosÍndices

PostgreSQL TO_CHAR (formatação de datas)

As funções de data do PostgreSQL, tais como `TO_CHAR`, são utilizadas para formatar datas e horas em uma representação textual específica. O `TO_CHAR` é particularmente útil para converter tipos de dados de data/hora em strings formatadas.

Uso

A função `TO_CHAR` é usada para transformar valores de data/hora em uma cadeia de caracteres com um formato específico, o que é especialmente útil para exibir datas de maneira amigável. Ele requer um valor de data/hora e uma string de formato que define o formato de saída desejado.

sql
TO_CHAR(date_value, 'format_string')

Nessa sintaxe, `date_value` é a data ou hora que você deseja formatar e `'format_string'` especifica como você deseja que ela apareça, usando padrões de formato específicos como `YYYY`, `MM`, `DD` etc. Observe que a `format_string` diferencia maiúsculas de minúsculas, o que é crucial para garantir a saída correta.

Exemplos

1. Formatação de data básica

sql
SELECT TO_CHAR(current_date, 'YYYY-MM-DD');

Essa consulta formata a data atual como uma cadeia de caracteres no formato `YYYY-MM-DD`, exibindo o ano, o mês e o dia completos.

2. Formatação personalizada de data e hora

sql
SELECT TO_CHAR(current_timestamp, 'DD Mon YYYY, HH12:MI AM');

Esse exemplo converte o carimbo de data/hora atual em um formato mais legível, exibindo o dia, o mês abreviado, o ano completo, a hora e os minutos com um indicador AM/PM.

3. Formatação com o nome do dia

sql
SELECT TO_CHAR(current_date, 'Day, DDth Month YYYY');

Esse exemplo formata a data para incluir o nome completo do dia, o dia com um sufixo ordinal e o nome completo do mês, criando uma cadeia de caracteres de data mais detalhada e legível por humanos.

Dicas e práticas recomendadas

  • Escolha padrões de formato apropriados. Use padrões de formato que correspondam às suas preferências de localidade e público-alvo. Considere o uso de padrões que tratem os formatos de data internacionais de forma eficaz.
  • Tenha cuidado com o acolchoamento. O padrão `TH` para sufixos ordinais e o `FM` para suprimir o preenchimento podem tornar as strings mais legíveis. O `FM` (modo de preenchimento) remove os espaços à esquerda e à direita, proporcionando uma saída mais limpa.
  • Use para apresentação, não para armazenamento. O `TO_CHAR` deve ser usado para fins de apresentação; armazene datas em formatos padrão de data/hora.
  • Teste as cadeias de formato. Sempre teste as cadeias de caracteres de formato para garantir que elas produzam a saída desejada, especialmente ao usar padrões complexos.

Erros comuns e solução de problemas

  • Erros de sensibilidade de caso: Certifique-se de que seu `format_string` use o caso correto para cada padrão. Um erro comum é usar letras minúsculas onde são necessárias letras maiúsculas, o que leva a resultados inesperados.
  • Exemplo de erro: Se você encontrar um erro como "function to_char(unknown, unknown) is not unique", verifique se `date_value` e `format_string` estão corretamente especificados e se são dos tipos esperados.

Além de datas, o `TO_CHAR` também pode formatar valores numéricos, aumentando sua versatilidade além da formatação de data/hora.