Home » SQL & PL/SQL » SQL & PL/SQL » calculte the hours :minutes:sec
calculte the hours :minutes:sec [message #21818] Tue, 03 September 2002 02:22 Go to next message
shahzad-ul-hasan
Messages: 615
Registered: August 2002
Senior Member
i want to calculate the how many hours,minutes i consumed.
example
i come
8:00 to 10:00 (out)
then i again come
11:00 to 1:00 (out)
then i come
2:00 to 4:00 (out)
then how many hours:minutes:sec i consumed
.please calcute how i mange the hours miutes
thanks for reply good response will appriciated.
thanks
Re: calculte the hours :minutes:sec [message #21831 is a reply to message #21818] Tue, 03 September 2002 13:11 Go to previous message
andrew again
Messages: 2577
Registered: March 2000
Senior Member
CREATE OR REPLACE FUNCTION to_hms (i_days IN number)
   RETURN varchar2
IS
BEGIN
   RETURN TO_CHAR (TRUNC (i_days)) || ' days ' ||
		 TO_CHAR (TRUNC (SYSDATE) + MOD (i_days, 1), 'HH24:MI:SS');
END to_hms;
/


-- 1.2345 days
SELECT to_hms (1.2345) FROM DUAL;
1 days 05:37:49


SELECT to_hms (SUM (x.dys))
  FROM (SELECT TO_DATE (TO_CHAR (SYSDATE, 'dd-mon-yyyy') || '10:00', 'dd-mon-yyyyhh24:mi')
               - TO_DATE (TO_CHAR (SYSDATE, 'dd-mon-yyyy') || '8:00', 'dd-mon-yyyyhh24:mi') dys
          FROM DUAL
        UNION ALL
        SELECT TO_DATE (TO_CHAR (SYSDATE, 'dd-mon-yyyy') || '13:00', 'dd-mon-yyyyhh24:mi')
               - TO_DATE (TO_CHAR (SYSDATE, 'dd-mon-yyyy') || '11:00', 'dd-mon-yyyyhh24:mi')
          FROM DUAL
        UNION ALL
        SELECT TO_DATE (TO_CHAR (SYSDATE, 'dd-mon-yyyy') || '16:00', 'dd-mon-yyyyhh24:mi')
               - TO_DATE (TO_CHAR (SYSDATE, 'dd-mon-yyyy') || '14:00', 'dd-mon-yyyyhh24:mi')
          FROM DUAL) x;

0 days 06:00:00
Previous Topic: Last time connected into database
Next Topic: Database Design Question - Looking For Suggestions
Goto Forum:
  


Current Time: Fri Apr 26 15:48:42 CDT 2024