Re: insert daterange field value - Mailing list pgsql-jdbc

From Sehrope Sarkuni
Subject Re: insert daterange field value
Date
Msg-id CAH7T-aqk-yRFWTjVcdfS4noty8qLo_nDZWok-Fc_WJ84dTt1Sw@mail.gmail.com
Whole thread Raw
In response to insert daterange field value  (Artem Pronchakov <artem.pronchakov@gmail.com>)
Responses Re: insert daterange field value
List pgsql-jdbc
> Does anyone have a solution for inserting daterange? What stm.setXXX should I use? Or maybe I cannot do that because
JDBCDriver does not have daterange support... Maybe there is a third solution? 

You need to specify the cast in your SQL and then bind the parameter
with setObject(...).

  String value = "[2014-01-02,2014-01-04]";
  String sql = "INSERT INTO date_range_test (some_field) VALUES (?::daterange)";
  PreparedStatement stmt = conn.prepareStatement(sql);
  stmt.setObject(1, value);
  stmt.execute();

> My PostgreSQL JDBC Driver:
>
>     <dependency>
>       <groupId>postgresql</groupId>
>       <artifactId>postgresql</artifactId>
>       <version>8.4-701.jdbc4</version>
>     </dependency>

I haven't tried this with the older 8.4 driver but the code above
works fine with the latest 9.3 driver.

It might work with the older driver as well but you really should
upgrade your JDBC driver to a more recent version.

The newer driver supports both old (8.4+) and new versions of
PostgreSQL so there's no real reason not to use it.

Regards,
Sehrope Sarkuni
Founder & CEO | JackDB, Inc. | http://www.jackdb.com/


pgsql-jdbc by date:

Previous
From: Tomonari Katsumata
Date:
Subject: Re: About binaryTransfer.
Next
From: Stephen Nelson
Date:
Subject: Fwd: insert daterange field value