Como formatar datas no SQL?

As funções DATE_FORMAT, TO_CHAR e FORMAT permitem formatar datas no SQL, ajustando o formato para exibição e relatórios.

Como formatar datas no SQL?

Formatar datas no SQL é essencial para exibição de informações em relatórios e interfaces de usuário. Cada banco de dados tem suas funções específicas para essa tarefa.

Formatando datas no MySQL com DATE_FORMAT()

No MySQL, a função DATE_FORMAT() permite modificar a exibição de datas:

SELECT DATE_FORMAT(data_nascimento, '%d/%m/%Y') AS data_formatada FROM clientes;

Isso exibe a data no formato "DD/MM/YYYY", comum em sistemas brasileiros.

Formatando datas no PostgreSQL e Oracle com TO_CHAR()

No PostgreSQL e no Oracle, utilizamos TO_CHAR():

SELECT TO_CHAR(data_nascimento, 'DD/MM/YYYY') AS data_formatada FROM clientes;

Isso garante que a data seja exibida no formato correto.

Formatando datas no SQL Server com FORMAT()

No SQL Server, a função FORMAT() permite personalizar a exibição:

SELECT FORMAT(data_nascimento, 'dd/MM/yyyy') AS data_formatada FROM clientes;

Essa função é útil para ajustar a apresentação da data sem modificar os dados originais.

Convertendo formatos de data

Se precisarmos converter uma string de data para um formato padrão, podemos usar STR_TO_DATE() no MySQL:

SELECT STR_TO_DATE('31/12/2024', '%d/%m/%Y') AS data_convertida;

Isso transforma a string 31/12/2024 em um valor de data reconhecido pelo banco.

Cuidados ao formatar datas no SQL

  • O formato pode variar de acordo com o banco de dados, então sempre teste antes de aplicar.
  • Para cálculos e comparações, mantenha a data em formato padrão (YYYY-MM-DD).
  • Evite armazenar datas como strings, pois isso dificulta consultas e ordenações.

A formatação de datas no SQL é essencial para tornar a exibição dos dados mais amigável e compatível com diferentes regiões. Em bancos de dados que armazenam datas no formato YYYY-MM-DD, a conversão para DD/MM/YYYY pode ser necessária para relatórios financeiros e documentos oficiais. Além disso, a escolha da função correta para cada banco de dados evita problemas de compatibilidade e garante melhor performance nas consultas. Em aplicações internacionais, considerar fusos horários e formatos regionais é fundamental para garantir uma exibição correta das informações.

Algumas aplicações:

  • Exibição de datas formatadas em relatórios empresariais
  • Conversão de datas para padrões regionais
  • Geração de arquivos e documentos com datas ajustadas
  • Formatação de datas para visualização em dashboards
  • Ajuste de datas para compatibilidade entre sistemas diferentes

Dicas para quem está começando

  • Use DATE_FORMAT() no MySQL para modificar a exibição da data
  • No PostgreSQL e Oracle, utilize TO_CHAR()
  • SQL Server oferece FORMAT(), ideal para personalizar datas
  • Se precisar converter strings em datas, prefira STR_TO_DATE() no MySQL
  • Evite armazenar datas como strings – sempre utilize tipos DATE ou DATETIME

Contribuições de Rodrigo Martins

Compartilhe este tutorial: Como formatar datas no SQL?

Compartilhe este tutorial

Continue aprendendo:

Como pegar a data atual no SQL?

As funções NOW(), CURRENT_DATE e GETDATE() permitem obter a data e hora atual no SQL, sendo úteis para registros e cálculos temporais.

Tutorial anterior

Como usar INNER JOIN para combinar dados de duas tabelas?

O INNER JOIN no SQL permite combinar registros de duas tabelas baseando-se em uma chave comum, retornando apenas os dados correspondentes em ambas as tabelas.

Próximo tutorial