Las funciones de fecha y hora en SQL son esenciales para trabajar con datos temporales. Estas funciones permiten realizar operaciones como obtener la fecha y hora actual, extraer partes específicas de una fecha, calcular diferencias entre fechas, y mucho más. En este módulo, aprenderemos sobre las funciones más comunes y cómo utilizarlas en consultas SQL.

Contenido

Funciones de fecha y hora comunes

NOW()

La función NOW() devuelve la fecha y hora actual del sistema.

SELECT NOW();

Resultado:

2023-10-05 14:23:45

CURDATE()

La función CURDATE() devuelve la fecha actual sin la hora.

SELECT CURDATE();

Resultado:

2023-10-05

CURTIME()

La función CURTIME() devuelve la hora actual sin la fecha.

SELECT CURTIME();

Resultado:

14:23:45

DATE()

La función DATE() extrae la parte de la fecha de un valor de fecha y hora.

SELECT DATE('2023-10-05 14:23:45');

Resultado:

2023-10-05

Extracción de partes de una fecha

YEAR(), MONTH(), DAY()

Estas funciones extraen el año, mes y día de una fecha, respectivamente.

SELECT YEAR('2023-10-05'), MONTH('2023-10-05'), DAY('2023-10-05');

Resultado:

2023 | 10 | 5

HOUR(), MINUTE(), SECOND()

Estas funciones extraen la hora, minuto y segundo de una fecha y hora.

SELECT HOUR('2023-10-05 14:23:45'), MINUTE('2023-10-05 14:23:45'), SECOND('2023-10-05 14:23:45');

Resultado:

14 | 23 | 45

Manipulación de fechas

DATE_ADD()

La función DATE_ADD() se utiliza para agregar un intervalo de tiempo a una fecha.

SELECT DATE_ADD('2023-10-05', INTERVAL 10 DAY);

Resultado:

2023-10-15

DATE_SUB()

La función DATE_SUB() se utiliza para restar un intervalo de tiempo a una fecha.

SELECT DATE_SUB('2023-10-05', INTERVAL 10 DAY);

Resultado:

2023-09-25

DATEDIFF()

La función DATEDIFF() devuelve la diferencia en días entre dos fechas.

SELECT DATEDIFF('2023-10-05', '2023-09-25');

Resultado:

10

Cálculo de diferencias entre fechas

TIMESTAMPDIFF()

La función TIMESTAMPDIFF() devuelve la diferencia entre dos valores de fecha y hora en la unidad especificada.

SELECT TIMESTAMPDIFF(HOUR, '2023-10-05 14:23:45', '2023-10-06 14:23:45');

Resultado:

24

TIMEDIFF()

La función TIMEDIFF() devuelve la diferencia entre dos valores de tiempo.

SELECT TIMEDIFF('14:23:45', '12:00:00');

Resultado:

02:23:45

Ejercicios prácticos

Ejercicio 1

Pregunta: Obtén la fecha y hora actual del sistema.

SELECT NOW();

Ejercicio 2

Pregunta: Extrae el año, mes y día de la fecha '2023-10-05'.

SELECT YEAR('2023-10-05'), MONTH('2023-10-05'), DAY('2023-10-05');

Ejercicio 3

Pregunta: Agrega 15 días a la fecha '2023-10-05'.

SELECT DATE_ADD('2023-10-05', INTERVAL 15 DAY);

Ejercicio 4

Pregunta: Calcula la diferencia en días entre '2023-10-05' y '2023-09-25'.

SELECT DATEDIFF('2023-10-05', '2023-09-25');

Ejercicio 5

Pregunta: Calcula la diferencia en horas entre '2023-10-05 14:23:45' y '2023-10-06 14:23:45'.

SELECT TIMESTAMPDIFF(HOUR, '2023-10-05 14:23:45', '2023-10-06 14:23:45');

Conclusión

En este módulo, hemos explorado las funciones de fecha y hora en SQL, aprendiendo cómo obtener la fecha y hora actual, extraer partes específicas de una fecha, manipular fechas y calcular diferencias entre fechas. Estas habilidades son fundamentales para trabajar con datos temporales en SQL y serán útiles en una variedad de contextos, desde la gestión de bases de datos hasta el análisis de datos.

En el próximo módulo, profundizaremos en las expresiones condicionales, que nos permitirán realizar operaciones más complejas y dinámicas en nuestras consultas SQL.

Curso de SQL

Módulo 1: Introducción a SQL

Módulo 2: Consultas básicas de SQL

Módulo 3: Trabajando con múltiples tablas

Módulo 4: Filtrado avanzado de datos

Módulo 5: Manipulación de datos

Módulo 6: Funciones avanzadas de SQL

Módulo 7: Subconsultas y consultas anidadas

Módulo 8: Índices y optimización de rendimiento

Módulo 9: Transacciones y concurrencia

Módulo 10: Temas avanzados

Módulo 11: SQL en la práctica

Módulo 12: Proyecto final

© Copyright 2024. Todos los derechos reservados