Database 当您知道毫秒数时,查询Oracle DB以获取时间戳

Database 当您知道毫秒数时,查询Oracle DB以获取时间戳,database,oracle,timestamp,Database,Oracle,Timestamp,我当前收到错误信息: java.sql.SQLException: ORA-01843: not a valid month 我想这和我设置时间戳的方式有关 所以我有一个这样的问题: select * from A_TABLE where A_TIMESTAMP_COL < '1252944840000' 但它不起作用…我不想把它转换成理想的约会。是否有一些特殊的语法告诉Oracle这是一个时间戳?使用java.sql便利方法将该毫秒时间转换为日期或时间戳。我认为您可以将日期列转换为字

我当前收到错误信息:

java.sql.SQLException: ORA-01843: not a valid month
我想这和我设置时间戳的方式有关

所以我有一个这样的问题:

select * from A_TABLE where A_TIMESTAMP_COL < '1252944840000'

但它不起作用…我不想把它转换成理想的约会。是否有一些特殊的语法告诉Oracle这是一个时间戳?

使用java.sql便利方法将该毫秒时间转换为日期或时间戳。

我认为您可以将日期列转换为字符并执行以下操作:

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

这应该允许您比较字符串,而不是日期。

您可以使用to_timestamp函数将字符串转换为时间戳值:

您可以使用以下查询:

SELECT * FROM A_TABLE WHERE TIMESTAMP < (SYSDATE - 10/1440)
其中SYSDATE-10/1440表示SYSDATE-10分钟


另请看一些例子。

这对我来说似乎是个非常糟糕的主意。我相信甲骨文将不得不在它所比较的每一个值上运行该功能,而不是以本机方式进行比较。我想看看他们俩的表演。