簡體   English   中英

通過JDBC將“daterange”字段值插入PostgreSQL表

[英]Insert “daterange” field value into PostgreSQL table through JDBC

我在PostgreSQL(9.3)中有一個帶有daterange字段類型的表。

我可以像使用JDBC的String一樣選擇此字段,但我無法將其插入表中。

我嘗試過的:

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 Driver沒有日期范圍的支持......也許有第三種解決方案?

謝謝。

PS

我的PostgreSQL JDBC驅動程序:

    <dependency>
      <groupId>postgresql</groupId>
      <artifactId>postgresql</artifactId>
      <version>8.4-701.jdbc4</version>
    </dependency>

采用:

insert into mytable (my_daterange_field) values (?::daterange)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM