目次
1. Antes de aprender el formato de fechas en MySQL: conocimientos básicos
La gestión de datos de fecha en bases de datos desempeña un papel crucial en todos los sistemas. En MySQL, el almacenamiento preciso de los datos y un formato adecuado son imprescindibles. Aquí se presentan los conocimientos básicos sobre los formatos de almacenamiento y visualización de fechas, y se explica la función DATE_FORMAT que ayuda a formatear los datos.1.1 Tipos de fecha en MySQL y sus características
MySQL ofrece varios tipos de datos para manejar fechas y horas. Comprender el uso de cada uno permite elegir el tipo óptimo y optimizar el rendimiento de la base de datos.- tipo DATE Almacena la fecha en formato «YYYY-MM-DD». Es adecuado para datos de fecha simples que no incluyen hora (por ejemplo, cumpleaños o fechas de eventos). Ejemplo:
2024-10-19
- tipo DATETIME Almacena tanto la fecha como la hora. El formato es «YYYY-MM-DD HH:MM:SS», lo que resulta útil para gestionar datos que incluyen hora, como registros o logs. Ejemplo:
2024-10-19 15:30:45
- tipo TIMESTAMP Se almacena como marca de tiempo UNIX (segundos transcurridos desde el 1 de enero de 1970) y se usa frecuentemente en sistemas que abarcan diferentes zonas horarias. Se puede obtener la marca de tiempo actual con
CURRENT_TIMESTAMP
.
1.2 Diferencias entre el almacenamiento y la visualización de fechas
Al guardar fechas en MySQL, la base de datos las almacena en un formato estándar, pero a menudo es necesario mostrarlas en un formato más legible para el usuario. Para ello se utiliza la función DATE_FORMAT. Con esta función es posible generar la salida de los datos almacenados en un formato personalizado. En la siguiente sección, veremos en detalle cómo usar la función DATE_FORMAT y sus aplicaciones.2. Uso básico de la función DATE_FORMAT
función DATE_FORMAT se utiliza para formatear la fecha guardada según el formato especificado. Al usar especificadores de formato flexibles, es posible personalizarlo en varios estilos de presentación.2.1 Sintaxis de la función DATE_FORMAT
DATE_FORMAT(date, format)
date
: Datos de fecha que se desea formatear (DATE, DATETIME, TIMESTAMP, etc.).format
: Cadena que especifica el formato de salida. Se utilizan especificadores de formato con el símbolo%
.
SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');
Resultado:2024/10/19
2.2 Detalles de los especificadores de formato
La función DATE_FORMAT permite personalizar fechas y horas de forma flexible mediante diversos especificadores de formato. A continuación se presentan los más comunes.%Y
: Año de 4 dígitos (ej.: 2024)%m
: Mes de 2 dígitos (01‑12)%d
: Día de 2 dígitos (01‑31)%W
: Nombre del día de la semana (ej.: Saturday)%H
: Hora en formato 24h (00‑23)%i
: Minutos (00‑59)%s
: Segundos (00‑59)
SELECT DATE_FORMAT('2024-10-19', '%W, %Y-%m-%d');
Resultado:Saturday, 2024-10-19
2.3 Salida en formato japonés
Con DATE_FORMAT es posible usar formatos en japonés. La siguiente consulta muestra la fecha en el formato «YYYY年MM月DD日».SELECT DATE_FORMAT('2024-10-19', '%Y年%m月%d日');
Resultado:2024年10月19日
Es un formato muy utilizado en informes, facturas y documentos japoneses.3. Técnicas avanzadas de DATE_FORMAT
La función DATE, combinada con otras funciones de MySQL, permite operaciones aún más potentes. Aquí se presentan técnicas útiles para el manejo de fechas.3.1 Combinación con otras funciones de fecha
La función DATE_FORMAT, al combinarse con funciones como DATE_ADD o DATE_SUB, permite operaciones de fecha dinámicas. Ejemplo: añadir un mes a la fecha y formatearResultado:2024-11-19
Al calcular fechas y formatear el resultado para su visualización, resulta útil para la generación dinámica de informes y procesos de actualización de datos.3.2 Integración con la función STR_TO_DATE
Con la función STR_TO_DATE es posible convertir una cadena a tipo fecha. Al combinar esta función con DATE_FORMAT, se puede manejar la cadena como datos de fecha de manera precisa.Ejemplo: convertir una cadena a fecha y aplicar formato
SELECT DATE_FORMAT(STR_TO_DATE('2024年10月19日', '%Y年%c月%e日'), '%Y/%m/%d');
Resultado:2024/10/19
Se pueden convertir datos de cadena complejos a tipo fecha y luego aplicar el formato adecuado.4. Ejemplos de formatos de fecha comunes
A continuación se presentan algunos ejemplos de formatos de fecha que se utilizan frecuentemente en tareas y sistemas. Estos son útiles en aplicaciones empresariales reales.4.1 Fecha separada por barras
SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');
Resultado:2024/10/19
El formato con barras se usa ampliamente en formularios web y en interfaces de usuario.4.2 Formato ISO 8601
SELECT DATE_FORMAT('2024-10-19', '%Y-%m-%d');
Resultado:2024-10-19
ISO 8601 es un estándar internacional y es adecuado para el intercambio de datos entre sistemas.4.3 Mostrar día de la semana y nombre del mes
SELECT DATE_FORMAT('2024-10-19', '%M %W');
Resultado:October Saturday
Este formato es apropiado para agendas de eventos y visualizaciones de calendarios.