Java 插入“;日期范围“;通过JDBC将字段值导入PostgreSQL表
我在PostgreSQL(9.3)中有一个字段类型的表 我可以用JDBC像字符串一样选择此字段,但不能将其插入表中 我所尝试的:Java 插入“;日期范围“;通过JDBC将字段值导入PostgreSQL表,java,database,postgresql,jdbc,date-range,Java,Database,Postgresql,Jdbc,Date Range,我在PostgreSQL(9.3)中有一个字段类型的表 我可以用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(); 我得到: Ex
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驱动程序没有daterange支持。。。
也许还有第三种解决办法
多谢各位
附言
我的PostgreSQL JDBC驱动程序:
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>8.4-701.jdbc4</version>
</dependency>
postgresql
postgresql
8.4-701.jdbc4
使用:
insert into mytable (my_daterange_field) values (?::daterange)