Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: setObject type for Interval objects



David Goodenough wrote:
> 
> I have an SQL SELECT which contains an expressions of the form:-
> 
> WHERE created < CURRENT_TIMESTAMP - ?
> 
> where created is a TIMESTAMP field.  As a parameter I want to pass
> an interval, so I used:-
> 
> PGInterval interval = new PGInterval( intervalPeriod);
> stmt.setObject( 1, interval);
> 
> but Postgresql objects with:-
> 
> org.postgresql.util.PSQLException: Can't infer the SQL type
> to use for an instance of org.postgresql.util.PGInterval.
> Use setObject() with an explicit Types value to specify
> the type to use.

Strange - here (postgresql-8.2-505.jdbc3.jar with JDK 1.5.0_12-b04)
the following code runs fine:

  Connection conn = DriverManager.getConnection();
  PreparedStatement stmt = conn.prepareStatement(
                                "SELECT current_timestamp - ?");
  stmt.setObject(1, new PGInterval("2 days"));
  ResultSet rs = stmt.executeQuery();

Yours,
Laurenz Albe



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group