Funciones de fecha y hora
Las funciones de fecha y hora en SQL permiten manipular y obtener información de valores de tipo DATE, DATETIME o TIMESTAMP. A continuación, veremos las funciones más utilizadas en SQLite, PostgreSQL y MySQL.
1. CURRENTDATE, CURRENTTIME y CURRENTTIMESTAMP - Fecha y Hora Actual #
Estas funciones devuelven la fecha y hora actual del sistema.
Ejemplo: #
2. EXTRACT() - Extraer Componentes de una Fecha #
Permite obtener partes específicas de una fecha como año, mes, día, hora, etc.
Ejemplo: #
3. DATEADD() y DATESUB() - Sumar o Restar Tiempo #
Ejemplo: #
4. DATEDIFF() - Diferencia entre Fechas #
Devuelve el número de días entre dos fechas.
Ejemplo: #
5. FORMAT() - Formateo de Fechas (Solo en MySQL) #
Permite personalizar el formato de una fecha.
Ejemplo: #
6. DAYNAME() y MONTHNAME() - Nombre del Día y Mes (Solo en MySQL y PostgreSQL) #
Devuelve el nombre del día o mes de una fecha.
Ejemplo: #
7. TIME() - Extraer Hora de una Fecha y Hora #
Se usa para obtener solo la parte horaria de un DATETIME o TIMESTAMP.
Ejemplo: #
8. TIMESTAMPDIFF() - Diferencia entre Fechas en Distintas Unidades (Solo en MySQL) #
Devuelve la diferencia entre dos fechas en días, meses o años.
Ejemplo: #
Resumen del tema
Conceptos clave #
- Fecha y Hora Actual: funciones como
CURRENT_DATE,CURRENT_TIMESTAMP,NOW()(MySQL/PostgreSQL),SYSDATE(Oracle) oGETDATE()(SQL Server) capturan el momento exacto del sistema. - Extracción de Componentes:
EXTRACT(YEAR/MONTH/DAY FROM ...)o funciones dedicadas (YEAR(),MONTH()) descomponen fechas en sus elementos individuales. - Aritmética de Fechas: suma o resta de intervalos temporales mediante
DATE_ADD()/DATE_SUB()o sumas de intervalos (+ INTERVAL 'X days'). - Diferencia y Formateo:
DATEDIFF()oTIMESTAMPDIFF()calculan la distancia entre dos fechas en días, meses o años;DATE_FORMAT()yTO_CHAR()permiten personalizar la salida visual.
Qué debes recordar #
El manejo de fechas depende fuertemente del motor de base de datos; usar formatos estandarizados ISO-8601 (YYYY-MM-DD) al insertar y operar previene errores de interpretación regional.