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.
Por que a formatação de datas no SQL é importante?
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