2012-08-15 253 views
0

我有一個表中的2個不同的領域,並且都有相同的時間戳格式。SQL選擇減去日期時間與日期時間

7/18/2012 10:19:48 AM

7/18/2012 10:20:46 AM

我怎麼能減去兩個時間戳來獲得持續的時間。

+0

什麼字段的數據類型?字符串或日期時間? – 2012-08-15 13:41:43

+0

告訴你的真相,我不知道,但當在SQL查詢的地方,我有'To_Date(to_chat(Table.field,'DD-MON-YYY'))'如果這是有道理的。 – Mowgli 2012-08-15 13:47:36

+0

@Mogli - 你爲什麼將字段轉換爲字符,然後轉換爲日期?你可以在應用'to_date(to_char())'之前準確地顯示出現場***中的內容嗎? *(也許將日期時間舍入到一個日期?)*另外,您應該確定數據類型***的真實含義,包括向同事尋求幫助。 – MatBailie 2012-08-15 13:50:10

回答

2
SELECT (firstDateColumn - secondDateColumn) * 24 * 60 difference_in_minutes 
FROM yourtable 

如果日期是字符串,則首先將它們轉換:

SELECT (TO_DATE(firstDateColumn, 'dd/mm/yyyy HH:MI:SS AM') - 
     TO_DATE(secondDateColumn, 'dd/mm/yyyy HH:MI:SS AM')) * 
     24 * 60 difference_in_minutes 
FROM yourtable 
+0

'Oracle'標籤和'MSDN'鏈接?我不會低估這個答案,但其他人可能會這樣。除非你更新/刪除它... – MatBailie 2012-08-15 13:44:56

+0

沒有看到'Oracle'標籤!將更新! – XN16 2012-08-15 13:46:27

+0

謝謝我刪除了Oracel標記,我嘗試了你顯示的代碼,我得到這個錯誤'在處理命令期間發生了一個或多個錯誤。 ORA-00904:「DATEDIFF」:無效標識符在System.Data.' – Mowgli 2012-08-15 13:50:50