我需要計算兩次之間需要多少時間。例如:PL/SQL時間段計算
(14:00:00 - 13:15:00)* 24 = 0.75
我需要這以後KW轉換成度,但是這不是問題的關鍵。
我無法找到如何在PL/SQL中執行此操作。
我的日期/時間字段像這樣的DB:
2010年1月23日21:00:00
我將不勝感激的任何建議。
史蒂夫
我需要計算兩次之間需要多少時間。例如:PL/SQL時間段計算
(14:00:00 - 13:15:00)* 24 = 0.75
我需要這以後KW轉換成度,但是這不是問題的關鍵。
我無法找到如何在PL/SQL中執行此操作。
我的日期/時間字段像這樣的DB:
2010年1月23日21:00:00
我將不勝感激的任何建議。
史蒂夫
如果您使用上述9i中這並得到預期的結果?
select extract(hour from numtodsinterval(to_date('14:00:00','HH24:MI:SS') - to_date('13:15:00','HH24:MI:SS'),'DAY'))
||':'|| extract(minute from numtodsinterval(to_date('14:00:00','HH24:MI:SS') - to_date('13:15:00','HH24:MI:SS'),'DAY')) diff
from dual
/
DIFF
------------------
0:45
提取物是詳細here
和numtodsinterval是here
非常感謝您的快速解決方案。現在我正在用我自己的數據來爭取自己的想法。我得到這個錯誤:「ORA-01858:一個非數字字符被發現的數字是預期的地方」 - dateTime字段看起來像這樣:8/12/2009 14:29:59 - 我不明白 – Steve 2010-05-05 20:24:22
很高興我能幫助 - 而不是TO_DATE('14:00:00' , 'HH24:MI:SS') 怎麼樣使用 TO_DATE( '2009年8月12日14時29分59秒',「 MM/DD/YYYY HH24:MI:SS') 我不知道我是否已將月份(MM)和日期(DD)置於正確的位置,但您應該可以更換這些 – 2010-05-05 20:33:22
再次感謝,我只是這樣做的,但奇怪的是,如果我將日期/時間硬編碼到它的工作函數中,那麼當我從表中得到該錯誤時,日期是從表中複製出來的,怎麼可能......無論如何,你已經幫了我很多了。再次感謝你。 – Steve 2010-05-05 20:45:00
哪個Oracle的版本您使用的是詳細的?問的原因是在9i中添加了內置功能,應該可以使這個更容易 – 2010-05-05 19:56:09