Re: insert daterange field value

Поиск
Список
Период
Сортировка
От Artem Pronchakov
Тема Re: insert daterange field value
Дата
Msg-id CANt3_r51nwyYryu2zhGjL4KLb_7u1N1RxXskzeFLxkJG8F9Azw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: insert daterange field value  (Sehrope Sarkuni <sehrope@jackdb.com>)
Список pgsql-jdbc
Thank you. It worked.


On Thu, Mar 6, 2014 at 4:27 PM, Sehrope Sarkuni <sehrope@jackdb.com> wrote:
> Does anyone have a solution for inserting daterange? What stm.setXXX should I use? Or maybe I cannot do that because JDBC Driver 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/



--
Artem Pronchakov
Senior Software Developer
Gemini-Systems Russia

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Stephen Nelson
Дата:
Сообщение: Fwd: insert daterange field value
Следующее
От: Naoya Anzai
Дата:
Сообщение: A prepared statement ERROR due to EMPTY_QUERY is defined as a static Instance.