Вы можете использовать приведенное ниже в Oracle, чтобы получить значение в запрошенном формате
create or replace function DATEDIFF_IN_ORC(P_START_TIME IN VARCHAR2, P_END_TIME IN VARCHAR2)
RETURN VARCHAR2
IS
START_TIME DATE;
END_TIME DATE;
L_RESULT VARCHAR2(100);
BEGIN
START_TIME:=TO_DATE(P_START_TIME,'MM/DD/YYYY HH24:MI:SS');
END_TIME:=TO_DATE(P_END_TIME,'MM/DD/YYYY HH24:MI:SS');
select ltrim(lpad(TO_CHAR(TRUNC(24*(end_time-start_time)) ) || TO_CHAR(TRUNC(end_time) +
(end_time-start_time) , ':MI:SS' ) , 12, ' ')) INTO L_RESULT from dual;
return l_result;
END;
Вызов, как показано ниже
select DATEDIFF_IN_ORC(START_TIME,END_TIME) from dual;
Вывод: -
0:02:34