2009-10-23 69 views
0

我目前得到的錯誤時間戳:查詢Oracle數據庫,因爲當你知道毫秒

java.sql.SQLException: ORA-01843: not a valid month 

我以爲是我設置的時間戳的方式做...

所以我有這樣的一個查詢:

select * from A_TABLE where A_TIMESTAMP_COL < '1252944840000' 

但它不工作...我不想將它轉換爲理想的日期。是否有一些特殊的語法告訴Oracle這是一個時間戳?

回答

0

我想你可以投的日期欄爲char和做類似:

select * from A_TABLE where to_char(A_TIMESTAMP_COL) < '1252944840000' 

這應該允許您比較字符串,而不是日期。

+0

這對我來說似乎是一個非常糟糕的主意。我相信甲骨文將不得不在與它比較的每個價值上運行該功能,而是能夠在本地進行比較。我希望看到兩者的表現。 – Gandalf 2009-10-23 22:47:57

0

使用java.sql便利方法將該毫秒時間轉換爲Date或Timestamp。

-1

您可以使用此查詢:

SELECT * FROM A_TABLE WHERE TIMESTAMP < (SYSDATE - 10/1440) 

(SYSDATE - 10/1440)意味着SYSDATE - 10 Minutes

另見一些例子here

相關問題