Calcular la duración del tiempo es una tarea común en SQL Server y puede ser útil en varios escenarios empresariales. En este tutorial, exploraremos cómo calcular la duración en días, horas, minutos y segundos utilizando SQL Server.
Escenario 1: Duración de entrega de pedidos
Consideremos un escenario en el que tenemos fechas de pedido y fechas de envío de clientes, y queremos calcular la duración que tomó para entregar el pedido. Comenzaremos con la duración en segundos y luego la convertiremos a días, horas, minutos y segundos.
Para calcular la diferencia entre la fecha de pedido y la fecha de envío, podemos usar la función DATEDIFF en SQL Server. Aquí hay un ejemplo:
SELECT DATEDIFF(SECOND, FechaPedido, FechaEnvio) AS DuracionEnSegundos
FROM Pedidos;Una vez que tenemos la duración en segundos, podemos calcular la duración en días, horas, minutos y segundos utilizando operaciones aritméticas simples. Aquí hay un ejemplo:
SELECT
DuracionEnSegundos / (24 * 60 * 60) AS DuracionEnDias,
(DuracionEnSegundos / (60 * 60)) % 24 AS DuracionEnHoras,
(DuracionEnSegundos / 60) % 60 AS DuracionEnMinutos,
DuracionEnSegundos % 60 AS DuracionEnSegundos
FROM (
SELECT DATEDIFF(SECOND, FechaPedido, FechaEnvio) AS DuracionEnSegundos
FROM Pedidos
) AS Duracion;Esto nos dará la duración en días, horas, minutos y segundos para cada pedido.
Escenario 2: Duración del trabajo del personal
En otro escenario, supongamos que tenemos un conjunto de datos que incluye los minutos totales que el personal trabajó en una sala de hospital. Queremos calcular la duración en días, horas y minutos en función de la duración del trabajo del personal por día.
Similar al escenario anterior, podemos comenzar calculando la duración total en minutos utilizando la función SUM. Aquí hay un ejemplo:
SELECT SUM(DuracionTrabajoPersonal) AS DuracionTotalMinutos
FROM HorasTrabajoPersonal;Una vez que tenemos la duración total en minutos, podemos calcular la duración en días, horas y minutos utilizando operaciones aritméticas. Aquí hay un ejemplo:
SELECT
DuracionTotalMinutos / (24 * 60) AS DuracionEnDias,
(DuracionTotalMinutos / 60) % 24 AS DuracionEnHoras,
DuracionTotalMinutos % 60 AS DuracionEnMinutos
FROM (
SELECT SUM(DuracionTrabajoPersonal) AS DuracionTotalMinutos
FROM HorasTrabajoPersonal
) AS Duracion;Esto nos dará la duración en días, horas y minutos en función de la duración del trabajo del personal por día.
Conclusión
Calcular la duración del tiempo en SQL Server se puede lograr utilizando operaciones aritméticas simples y funciones incorporadas como DATEDIFF y SUM. Al comprender los requisitos comerciales y los datos disponibles, puede calcular fácilmente la duración en días, horas, minutos y segundos para varios escenarios.
Recuerde ajustar los nombres de columna y los nombres de tabla en los ejemplos para que coincidan con su propio esquema de base de datos.
Gracias por leer este tutorial. Si tiene alguna pregunta o comentario, por favor deje un comentario a continuación.
Última actualización del artículo: 2021-12-01