Re: [GENERAL] Fwd: Query parameter types not recognized - Mailing list pgsql-general

From rob stone
Subject Re: [GENERAL] Fwd: Query parameter types not recognized
Date
Msg-id 1486759138.9125.1.camel@gmail.com
Whole thread Raw
In response to [GENERAL] Fwd: Query parameter types not recognized  (Roberto Balarezo <rober710@gmail.com>)
Responses Re: [GENERAL] Fwd: Query parameter types not recognized  (Roberto Balarezo <rober710@gmail.com>)
List pgsql-general
Hello Roberto,
On Fri, 2017-02-10 at 10:17 -0500, Roberto Balarezo wrote:
> Hi, I would like to know why this is happening and some advice if
> there is a way to solve this problem:
>
> I have a query like this:
>
> select COALESCE(duedate, ? + 1) from invoices order by duedate desc
> limit 10;
> where ? is a query parameter. I’m using JDBC to connect to the
> database, and sending parameters like this:
>
> query.setDate(1, defaultDueDate);
> Where defaultDueDate is a java.sql.Date object. However, when I try
> to execute the query, I get this error:
>
> org.postgresql.util.PSQLException: ERROR: COALESCE types timestamp
> without time zone and integer cannot be matched
> Why is it inferring that the type is integer, when I send it as
> Date??
>
>

Prepared statement's set.Date applies the current server timezone to
the value. So, if the database column duedate is of type DATE, it can't
interpret what you are trying to do.

If duedate can be null, then I really don't understand your query.

HTH.

Rob





pgsql-general by date:

Previous
From: Leonardo M. Ramé
Date:
Subject: Re: [GENERAL] Alter view with psql command line
Next
From: David Fetter
Date:
Subject: Re: [GENERAL] Alter view with psql command line