2013-07-05 36 views
0

當我運行查詢時,我得到的差異爲'-00:05:00'。如果從java中的結果集中得到否定的時間,則如何獲得時間

我正在試圖通過Java來檢索此值

java.sql.SQLException中時,此異常:在 com.mysql.jdbc.ResultSet.getTimeFromString(ResultSet.java值java.sql.SQLException: 6111)at com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:2137)at com.mysql.jdbc.ResultSet.getString(ResultSet.java:2076)at com.mysql.jdbc.ResultSet.getString( ResultSet.java:2194)

有沒有辦法t o將時差轉換爲字符串,如果它是負數,我可以通過java檢索它。

select TIMEDIFF(STR_TO_DATE(std,"%H:%i"),STR_TO_DATE(SUBSTRING(deptime,(INSTR(deptime,":")-2)),"%H:%i")) as dep_diff from table 

試圖用Java獲取作爲

rs.getString("dep_diff"); 

問題是我是把兩個日期時間字段的差異並獲得差異爲dep_diff,這我無法通過MySQL查詢轉換爲字符串。

+0

完整的堆棧跟蹤請 –

+1

此外,查詢的一些代碼可能對我們非常有幫助。 –

+0

數據庫中的底層列數據類型是什麼。 ++顯示實際查詢。 – Keith

回答

0

顯然你試圖檢索持續時間(這是查看兩個時刻之間的時間差的另一種方式),就好像它是相對於Unix時代的時間點。

取而代之的是檢索字符串並用您自己的代碼或JodaTime處理它,它理解持續時間的概念。

+0

感謝您的回覆...但嘗試rs.getString(「dep_diff」);是給例外.. :( –

+0

反正現在我不得不解決創建分開的varchar列,它工作正常.... :) –

相關問題