Hola, chicos,
¡Buenas tardes!

Estos últimos días he estado un poco corto de tiempo, pero para evitar actualizar aquí voy a hacer otro post rápido demostrando cómo convertir milisegundos, segundos o minutos a TIEMPO en SQL Server.

Muchas veces en nuestras rutinas, especialmente cuando creamos registros de ejecución de rutinas que miden el tiempo necesario para el procesamiento, necesitamos almacenar estos registros en un campo TIME o una cadena que simule el comportamiento del tipo de datos TIME (Ej: 00:01:08.57800)

Sin embargo, la conversión, a pesar de ser sencilla, no es tan trivial y genera muchas dudas, especialmente entre los desarrolladores nuevos en SQL Server que acaban utilizando funciones para realizar esta tarea y aplicándolas a grandes volúmenes de datos, comprometiendo el rendimiento de la consulta. Por esta razón, decidí crear esta publicación para ayudar con esta pregunta.

-- Converter 5874502 Milisegundos para tempo
SELECT CONVERT(TIME, DATEADD(MILLISECOND, 5874502 + 86400000, 0), 114)

-- Converter 587 Segundos para tempo
SELECT CONVERT(TIME, DATEADD(SECOND, 587 + 86400000, 0), 114)

-- Converter 457 Minutos para tempo
SELECT CONVERT(TIME, DATEADD(MINUTE, 457 + 86400000, 0), 114)

-- Converter 5874502 Milisegundos para string
SELECT CONVERT(VARCHAR(12), DATEADD(MILLISECOND, 5874502 + 86400000, 0), 114)

Resultado de la consulta:

SQL Server - Como converter milissegundos, segundos ou minutos para TIME no SQL Server
SQL Server: cómo convertir milisegundos, segundos o minutos a TIEMPO en SQL Server

¡Hasta la próxima!

Cómo convertir milisegundos milisegundos, segundos o minutos a TIEMPO en SQL Server, convertir segundos minutos milisegundos a tiempo

Cómo convertir milisegundos milisegundos, segundos o minutos a TIEMPO en SQL Server, convertir segundos minutos milisegundos a tiempo