2013-08-22 82 views
0

在我的應用這個錯誤發生時,我嘗試運行以下命令:結果集GETDATE()返回不正確的日期值

SELECT send_day FROM types WHERE ID_TYPE = 4 

查詢執行返回的日期2日列值之前。

在Java應用程序這個值的恢復是這樣的:

java.sql.Date dataSQL = retorno.getDate(1); 

我使用SQLJDB4.0驅動程序和數據庫版本是2008年

對於發表評論的一些答案:

的數據庫的值爲2013-08-22並且返回的是2013-08-20

我的時區是UTC-03:00。在數據庫中,我執行的是以下命令:

select SYSDATETIMEOFFSET()其返回:2013年8月22日11:49:12.4010367-03:00

+0

也許像Excel一樣,Java使用1899-12-30作爲「第0天」而不是1900-01-01? –

+1

請包括數據庫中的值,以及從ResultSet中獲取的值以及本地時區以及數據庫中存儲的數據的(實際或預期)時區。 –

+0

Java使用1970-01-01作爲「第0天」。可能是時區問題(請參閱getDate(int columnIndex)與getDate(int columnIndex,Calendar cal)) – agad

回答

1

我更新了SQLJDBC爲4-4.0版本和問題已經解決了。

+0

標記此答案爲正確的。:) – araknoid

相關問題