Lección 8 del curso SQL Nivel Intermedio.
En la lección anterior vimos cómo extraer parte de la información contenida en registros tipo “date” o “timestamp” (que puede contener una fecha o una fecha y hora).
En esta lección veremos cómo realizar diferentes operaciones entre y sobre tipos de dato “date” y “timestamp” las cuales resultan muy útiles cuando incluimos la variable tiempo al momento de extraer información de una base de datos.
Por ejemplo, en ocasiones puede resultar necesario, como parte del análisis, añadir o restar un cierto número de días, horas, minutos, etc., a una marca de tiempo o calcular la diferencia entre dos marcas de tiempo para determinar la cantidad de días transcurridos entre una y otra.
Comencemos entonces viendo algunos ejemplos básicos de uso de estas operaciones:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Como acabamos de ver, cuando tenemos un dato tipo “date” y queremos añadir o restar al registro un número de horas simplemente usamos los símbolos “+” o “-” seguidos del número de horas a sumar/restar.
Pero cuando tenemos un dato tipo “timestamp” debemos usar además la palabra clave INTERVAL para especificar si lo que queremos es sumar/restar meses, días, horas, minutos o segundos, o también podemos usar TIME si queremos añadir por ejemplo una combinación de horas y minutos.
Además podemos restar dos datos tipo “timestamp” para determinar el tiempo transcurrido entre dos marcas de tiempo. Dicho tiempo transcurrido estará dado, generalmente, en días, horas, minutos y segundos y en ocasiones resulta más fácil interpretar el resultado si lo representamos como días con números decimales (por ejemplo 1.5 días, 3.2 días, etc.). Para lograr esto debemos usar la función EXTRACT() (vista en la lección anterior) junto con las palabras clave EPOCH y FROM para representar la diferencia en segundos, y luego dividimos el resultado entre 86.400 para calcular así la diferencia como un número de días.
Teniendo claro este principio básico de funcionamiento, veamos cómo usar estas operaciones para realizar diferentes tipos de consultas sobre nuestra base de datos:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Estas sencillas operaciones básicas que acabamos de ver resultan siendo muy poderosas y nos permiten extraer información que a simple vista no se puede apreciar en la base de datos.
En los ejemplos que acabamos de analizar vimos cómo determinar la diferencia entre los tiempos de entrega estimados y reales y esta información se podría utilizar, por ejemplo, para mejorar procesos de entrega al interior de la empresa.
También vimos cómo llevar la información de los tiempos promedio de entrega (desde el momento de la compra) a nivel de ciudades y con ello pudimos determinar cuáles ciudades tenían tiempos de entrega muy cortos y cuáles relativamente largos lo que, nuevamente, permitiría a la empresa realizar ajustes en aspectos logísticos asociados a la entrega de los productos.
Así que teniendo claro el uso de estas operaciones con fechas y horas, en la próxima lección veremos cómo usar las fechas y horas como criterios para generar agrupaciones usando GROUP BY.
Todas las lecciones del curso SQL Nivel Intermedio
