【发布时间】:2014-04-08 17:19:35
【问题描述】:
我在 PostgreSQL(9.3) 中有一个带有 daterange 字段类型的表。
我可以像使用 JDBC 的字符串一样选择这个字段,但我不能将它插入到表中。
我尝试过的:
PreparedStatement stm = conn.prepareStatement("insert into mytable (my_daterange_field) values (?)");
stm.setString(1, "[2014-01-02,2014-01-04]");
int i = stm.executeUpdate();
我得到了:
Exception in thread "main" org.postgresql.util.PSQLException: ERROR: column "my_daterange_field" is of type daterange but expression is of type character varying
Hint: You will need to rewrite or cast the expression.
Position: 168
有人有插入日期范围的解决方案吗? 我应该使用什么 stm.setXXX?或者也许我不能这样做,因为 JDBC 驱动程序不支持日期范围...... 也许还有第三种解决方案?
谢谢。
附言
我的 PostgreSQL JDBC 驱动程序:
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>8.4-701.jdbc4</version>
</dependency>
【问题讨论】:
标签: java database postgresql jdbc date-range