2012-01-14 71 views

回答

1

這是你在找什麼?提取也適用於間隔(這是兩個時間戳之間的直接減法給你的)。

create table times (time_in timestamp, time_out timestamp); 
insert into times values(to_timestamp('02-MAY-11 07.57.00.000000 AM'), to_timestamp('02-MAY-11 07.30.00.000000 PM')); 
select extract(hour from(time_out-time_in))||':'||extract(minute from(time_out-time_in)) from times; 

EXTRACT(HOURFROM(TIME_OUT-TIME_IN))||':'||EXTRACT(MINUTEFROM(TIME_OUT-TIME_IN)) 
--------------------------------------------------------------------------------- 
11:33                    
+0

非常感謝Wes,另外一個人,如何將結果與另一次進行比較,例如'if [extract result]> [eight hours] then ....' – Praditha 2012-01-16 04:54:40

0

Extract功能

從上面:

SQL> 
SQL> 
SQL> --EXTRACT(): get the hour, minute, and second from a TIMESTAMP returned by TO_TIMESTAMP(): 
SQL> 
SQL> SELECT 
    2 EXTRACT(HOUR FROM TO_TIMESTAMP('01-JAN-2005 19:15:26', 
    3  'DD-MON-YYYY HH24:MI:SS')) AS HOUR, 
    4 EXTRACT(MINUTE FROM TO_TIMESTAMP('01-JAN-2005 19:15:26', 
    5  'DD-MON-YYYY HH24:MI:SS')) AS MINUTE, 
    6 EXTRACT(SECOND FROM TO_TIMESTAMP('01-JAN-2005 19:15:26', 
    7  'DD-MON-YYYY HH24:MI:SS')) AS SECOND 
    8 FROM dual; 

     HOUR  MINUTE  SECOND 
---------- ---------- ---------- 
     19   15   26 

SQL> 
+0

所以,你的意思是我必須通過從這些字段獲取每個小時和分鐘手動減去它。 – Praditha 2012-01-14 04:41:37