Como converter uma data para outro formato no SQL?
A formatação de datas no SQL é essencial para exibir informações de maneira organizada. Cada banco de dados possui funções específicas para conversão de formatos de data.
Usando DATE_FORMAT() no MySQL
No MySQL, a função DATE_FORMAT() permite alterar o formato da data:
SELECT DATE_FORMAT(data_nascimento, '%d/%m/%Y') AS data_formatada FROM clientes;
Isso exibe a data no formato "dd/mm/yyyy", útil para exibição em sistemas brasileiros.
Usando TO_CHAR() no PostgreSQL e Oracle
No PostgreSQL e Oracle, utilizamos TO_CHAR():
SELECT TO_CHAR(data_nascimento, 'DD/MM/YYYY') AS data_formatada FROM clientes;
Isso retorna a data no formato desejado.
Convertendo datas no SQL Server com FORMAT()
No SQL Server, a função FORMAT() permite mudar o formato:
SELECT FORMAT(data_nascimento, 'dd/MM/yyyy') AS data_formatada FROM clientes;
Essa função é útil para exibir datas de forma personalizada.
Convertendo para timestamp ou ISO 8601
Se precisarmos converter uma data para o formato ISO 8601:
SELECT CONVERT(VARCHAR, data_pedido, 126) AS data_iso FROM pedidos;
Isso exibe a data no formato "YYYY-MM-DDThh:mm:ss".
Cuidados ao converter datas
- Certifique-se de que a coluna realmente contém valores de data e não strings.
- O formato da data pode variar dependendo da configuração regional do banco de dados.
- Para manipulações avançadas, explore funções como
DATEADD()
eDATEDIFF()
.
Quando converter datas no SQL é necessário?
A conversão de datas no SQL é essencial para exibir informações corretamente em relatórios, sistemas financeiros e aplicações web. Em bancos como MySQL, SQL Server e PostgreSQL, a escolha da função correta permite adaptar a exibição de datas conforme a necessidade do usuário. Em sistemas internacionais, converter para o formato ISO 8601 melhora a interoperabilidade entre plataformas. Além disso, manipular datas no SQL pode ser útil para cálculos de prazos, diferenciação entre eventos e formatação para exibição adequada ao contexto do usuário.
Algumas aplicações:
- Formatar datas para exibição em relatórios
- Converter datas para o padrão local (dd/mm/yyyy)
- Transformar datas em formato ISO 8601 para APIs
- Exibir datas personalizadas em dashboards
- Melhorar a organização e legibilidade de registros históricos
Dicas para quem está começando
- Use
DATE_FORMAT()
no MySQL para exibir datas formatadas - No PostgreSQL e Oracle, prefira
TO_CHAR()
para conversões - SQL Server oferece
FORMAT()
, ideal para personalizar datas - Para cálculos com datas, pesquise funções como
DATEADD()
eDATEDIFF()
- Ao trabalhar com diferentes fusos horários, considere armazenar datas no formato UTC
Contribuições de Rodrigo Martins