MySQL ofrece la función DATE_FORMAT(fecha, formato)
para convertir valores de tipo DATE
, DATETIME
o TIMESTAMP
en cadenas de texto con un formato específico. Esta función es especialmente útil para mostrar fechas en un formato más legible o adecuado a la localización del usuario.
Sintaxis básica:
SELECT DATE_FORMAT(NOW(), '%d/%m/%Y');
Los formatos se definen con códigos de formato, por ejemplo:
%Y
– Año completo (ej. 2025)
%y
– Año en dos dígitos (ej. 25)
%m
– Mes en dos dígitos (ej. 07)
%d
– Día del mes (ej. 17)
%H
– Hora en formato 24h (ej. 14)
%i
– Minutos (ej. 45)
%s
– Segundos (ej. 09)
La función puede combinarse con otras para modificar o filtrar datos según la fecha.
1. Mostrar fecha en formato DD-MM-YYYY
:
SELECT DATE_FORMAT(fecha, '%d-%m-%Y') FROM eventos;
2. Mostrar hora y fecha completas:
SELECT DATE_FORMAT(NOW(), '%d/%m/%Y %H:%i:%s');
3. Obtener solo el nombre del mes:
SELECT DATE_FORMAT(fecha, '%M') FROM ventas;
4. Filtrar por año y mes específicos:
SELECT * FROM pedidos
WHERE DATE_FORMAT(fecha_pedido, '%Y-%m') = '2025-07';
Jorge García
Fullstack developer