Re: INTERVAL parameter in PreparedStatement worked in 7.4

From: "Matt Magoffin" <postgresql(dot)org(at)msqr(dot)us>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: INTERVAL parameter in PreparedStatement worked in 7.4
Date: 2005-10-28 00:02:14
Message-ID: 50418.219.89.94.58.1130457734.squirrel@msqr.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

I forgot to add that the 8 driver throws an exception when trying to parse
the statement with the positional parameter:

java.sql.SQLException: ERROR: syntax error at or near "$1"

-- m@

> Hello,
>
> I used to use the following style statement with the 7.4 series JDBC
> driver:
>
> select * from users users where users.createdDate < (CURRENT_DATE -
> INTERVAL ?)
>
> and would set the parameter to a string value of "14 DAYS"
>
> but in the Postgres 8 driver, this query executes but does not seem to
> ever return anything. Is there a better syntax I could use to make this
> work?
>
> The query does work in the 8 driver if the ? is explicitly part of the
> query, i.e. not a positional parameter, like this:
>
> select * from users users where users.createdDate < (CURRENT_DATE -
> INTERVAL '14 DAYS')
>
> Any help much appreciated,
> m@

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2005-10-28 00:29:21 Re: INTERVAL parameter in PreparedStatement worked in 7.4
Previous Message Matt Magoffin 2005-10-27 23:56:05 INTERVAL parameter in PreparedStatement worked in 7.4 but not in 8.0 driver