10

我有一个 Postgres 数据库,其中包含一个包含时间戳 ( timeOfProcessing TIMESTAMP) 的表。

我有一个 Java 日期时间值 ( java.util.Date dateTime) 并希望将其值存储在该时间戳字段中(没有时区)。

当我使用查询执行此操作时

"INSERT INTO mytable(..., timeOfCreation, ...) VALUES(..., to_timestamp(" + Long.toString(dateTime.getTime()) + "),...)"

然后读取保存的值(SELECT timeOfCreation FROM mytable),它们是不同的(resultSet.getTimestamp(...).getTime()不等于dateTime.getTime())。

我如何需要更改插入语句才能正确存储日期时间?

4

1 回答 1

21

插入时,不要使用 ,而是(dateTime).getTime()使用 SQL 时间戳对象:new java.sql.Timestamp((dateTime).getTime())

于 2013-08-08T17:37:18.943 回答