Re: JDBC - Prepared statements and PostgreSql Time/Date operations

From: "Jan Bilek" <bilekj(at)gmail(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: JDBC - Prepared statements and PostgreSql Time/Date operations
Date: 2007-05-18 22:15:49
Message-ID: 002201c7999a$17f89990$0100a8c0@ook
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Got it!
> "Jan Bilek" <bilekj(at)gmail(dot)com> writes:
>> I would like to use this query in java PreparedStatement, where age of a
>> =
>> row would be one of its parameters:
>
>> PreparedStatement could look like this:
>> select * from mytable where creation_time > (CURRENT_TIMESTAMP - ?)
>
>> But nothing works with PreparedStatements!
>> I tried to set whole interval strings "interval '7 days'" as a parameter
>> I tried to set time strings '7 days' as a parameter
>> I tried to use BigDecimal as a parameter...
>
> I'm not sure that Java has a type corresponding to "interval". Instead
> use number-times-interval multiplication:
>
> ... creation_time > (CURRENT_TIMESTAMP - ? * interval '1 day')

Integer-interval multiplication is the way!!!
Many thanks for quick help.

(Java seems not to have oracle/postgre interval type)

>
> The parameter is now of plain integer or float type.
>
> regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Shane 2007-05-18 22:19:27 Database corruption
Previous Message Tom Lane 2007-05-18 21:26:45 Re: JDBC - Prepared statements and PostgreSql Time/Date operations