1. Antes de aprender a formatação de datas no MySQL: Conceitos básicos
Gerenciar dados de data em um banco de dados desempenha um papel crítico em qualquer sistema. No MySQL, o armazenamento preciso dos dados e a formatação correta são essenciais. Aqui, apresentamos os conceitos fundamentais de formatos de armazenamento e exibição de datas e explicamos a DATE_FORMAT function, que é útil para formatar dados.
1.1 Tipos de data do MySQL e suas características
O MySQL oferece vários tipos de dados para lidar com datas e horas. Ao entender o propósito de cada tipo, você pode selecionar o mais adequado e otimizar o desempenho do banco de dados.
- DATE Type Armazena datas no formato “YYYY-MM-DD”. É adequado para dados de data simples que não requerem informações de hora (por exemplo, aniversários ou datas de eventos). Exemplo:
2024-10-19 - DATETIME Type Armazena data e hora. O formato é “YYYY-MM-DD HH:MM:SS” e é útil para gerenciar logs e registros que incluem informações de hora. Exemplo:
2024-10-19 15:30:45 - TIMESTAMP Type Armazenado como um timestamp UNIX (número de segundos desde 1 de janeiro de 1970). É frequentemente usado em sistemas que abrangem múltiplos fusos horários. Você pode usar
CURRENT_TIMESTAMPpara obter o timestamp atual.
Escolher o tipo de data apropriado com base nos requisitos da sua aplicação é importante. Isso melhora tanto a precisão dos dados quanto a eficiência das consultas.
1.2 A diferença entre armazenar e exibir datas
Ao armazenar datas no MySQL, o banco de dados as salva em um formato padrão. No entanto, muitas vezes é necessário exibi‑las em um formato amigável ao usuário. É aqui que a DATE_FORMAT function é utilizada. Com essa função, você pode gerar a saída dos dados armazenados em um formato personalizado.
2. Uso básico da DATE_FORMAT Function
A DATE_FORMAT function é usada para formatar datas armazenadas em um formato especificado. Ao usar especificadores de formato flexíveis, você pode personalizar vários estilos de exibição.
2.1 Sintaxe da DATE_FORMAT Function
DATE_FORMAT(date, format)
date: O valor de data a ser formatado (DATE, DATETIME, TIMESTAMP, etc.).format: Uma string que especifica o formato de saída. Usa especificadores de formato precedidos por%.
Por exemplo, a consulta a seguir converte uma data para o formato “YYYY/MM/DD”:
SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');
Resultado:
2024/10/19
2.2 Detalhes dos especificadores de formato
A DATE_FORMAT function permite a personalização flexível de data e hora usando vários especificadores de formato. Abaixo estão alguns especificadores comumente usados:
%Y: Ano com 4 dígitos (ex.: 2024)%m: Mês com 2 dígitos (01–12)%d: Dia com 2 dígitos (01–31)%W: Nome do dia da semana (ex.: Saturday)%H: Hora no formato 24h (00–23)%i: Minutos (00–59)%s: Segundos (00–59)
Por exemplo, a consulta a seguir exibe o dia da semana junto com o ano, mês e dia:
SELECT DATE_FORMAT('2024-10-19', '%W, %Y-%m-%d');
Resultado:
Saturday, 2024-10-19
2.3 Saída de data baseada em texto personalizado
Você também pode usar DATE_FORMAT para produzir formatos de data baseados em texto. A consulta a seguir gera a data em um estilo longo, como “October 19, 2024”.
SELECT DATE_FORMAT('2024-10-19', '%M %d, %Y');
Resultado:
October 19, 2024
Esse formato é comumente usado em relatórios, faturas e documentos oficiais em ambientes de língua inglesa.
3. Técnicas avançadas da DATE_FORMAT
A DATE_FORMAT function se torna ainda mais poderosa quando combinada com outras funções do MySQL. Aqui, apresentamos técnicas úteis para manipulação de datas.
3.1 Combinação com outras funções de data
A DATE_FORMAT function pode ser combinada com funções como DATE_ADD e DATE_SUB para executar operações de data dinâmicas.
Exemplo: Adicionar um mês a uma data e formatá‑la
SELECT DATE_FORMAT(DATE_ADD('2024-10-19', INTERVAL 1 MONTH), '%Y-%m-%d');
Resultado:
2024-11-19
Isso permite que você realize cálculos de data e formate os resultados, o que é útil para gerar relatórios dinâmicos e processar atualizações de dados.
3.2 Usando STR_TO_DATE em Conjunto
A função STR_TO_DATE converte uma string em um tipo de data. Quando combinada com DATE_FORMAT, você pode lidar com precisão com dados de string como valores de data.
Exemplo: Converter uma String em uma Data e Aplicar Formatação
SELECT DATE_FORMAT(STR_TO_DATE('October 19, 2024', '%M %d, %Y'), '%Y/%m/%d');
Resultado:
2024/10/19
Você pode converter dados de string complexos em um tipo de data e, em seguida, aplicar o formato apropriado depois.

4. Exemplos Comuns de Formatos de Data
Aqui estão vários formatos de data comumente usados em ambientes de negócios e sistemas. Esses exemplos são práticos para aplicações no mundo real.
4.1 Data Separada por Barra
SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');
Resultado:
2024/10/19
O formato separado por barra é amplamente usado em formulários web e interfaces de usuário.
4.2 Formato ISO 8601
SELECT DATE_FORMAT('2024-10-19', '%Y-%m-%d');
Resultado:
2024-10-19
ISO 8601 é um padrão internacional e é adequado para troca de dados entre sistemas.
4.3 Exibindo Nome do Dia da Semana e do Mês
SELECT DATE_FORMAT('2024-10-19', '%M %W');
Resultado:
October Saturday
Este formato é adequado para cronogramas de eventos e exibições de calendário.
5. Resumo
A função DATE_FORMAT é uma ferramenta poderosa para lidar de forma flexível com a formatação de datas no MySQL. Desde a formatação básica até o uso avançado combinado com outras funções, ela pode ser aplicada em muitos cenários diferentes.
Ao integrá-la com funções como STR_TO_DATE e DATE_ADD, você pode alcançar um processamento de dados ainda mais flexível. Use as técnicas introduzidas neste artigo para manipular eficientemente dados de data e otimizar o manuseio de dados em seus sistemas e aplicativos.
Continue aproveitando os recursos do MySQL para melhorar a eficiência da operação do banco de dados e desenvolver sistemas mais sofisticados.


