Published on

May 15, 2022

Calculando la duración del tiempo en SQL Server

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

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.