Comparar tiempos de procesos

Buenos días, estimados compañeros.

Tengo el siguiente Query donde me muestra los tiempos de generación de las Ordenes, Entrega y Facturas, Todo esta bien pero quiero saber cuanto se duro en cada proceso. Por ejemplo si una orden se hizo a las 10:00am y se paso a entrega a las 12 que me indique que tardo 2 horas. No se si me explico.
Agradecezco la ayuda que me puedan brindar.

> SELECT DISTINCT		
	T0."DocNum" AS "# de OV",
	T0."DocDate" AS "Fecha_OV", T5."U_NAME" AS "Usuario",T0."CreateTS" AS "FHG", T0."UpdateTS" AS "FHAct", T0."DocTime" AS "H. Generacion" ,left((right('000000'||cast (T0."UpdateTS" as varchar(6)),6)),2)||':'||substr((right('000000'||cast(T0."UpdateTS" as varchar(6)),6)),3,2) as "Hora Act.", 
	T2."DocNum" AS "# de Entrega",
	T2."DocDate" AS "Fecha_Entrega",
              T2."DocTime" AS "H. Generación",
	T4."DocDate" AS "Fecha_Factura",
              left((right('000000'||cast(T4."UpdateTS" as varchar(6)),6)),2)||':'||substr((right('000000'||cast(T4."UpdateTS" as varchar(6)),6)),3,2) as "FHG",
              T4."DocTime" AS "H. Generación"
    
		
FROM ORDR T0

LEFT JOIN 
	DLN1 T1 ON T0."DocEntry" = T1."BaseEntry"
	
LEFT JOIN
	ODLN T2 ON T1."DocEntry" = T2."DocEntry"

LEFT JOIN 
	INV1 T3 ON T2."DocEntry" = T3."BaseEntry"
	
LEFT JOIN
	OINV T4 ON T3."DocEntry" = T4."DocEntry"

LEFT JOIN
              OUSR T5 ON T0."UserSign" = T5."USERID"
		

WHERE 
	T0."CANCELED" NOT IN ('Y')
	
	
Order by T0."DocDate"
> ```
[/quote]
1 me gusta

Los campos que estas usando como el “CreateTS” son de tipo INT, asi que tendrias que usar funciones para volver esa hora a segundos, y luego restar los segundos, te paso un ejemplo como separar ese campo en horas, minutos y segundos:

SELECT ROUND( T0."CreateTS"/10000, 0, ROUND_FLOOR) as Horas , 
ROUND(MOD( T0."CreateTS",10000)/100,0, ROUND_FLOOR) as Minutos ,
ROUND(MOD( T0."CreateTS",100),0, ROUND_FLOOR) as Segundos ,
4 Me gusta

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.