Vicente,
You either need to upgrade the server to 7.3 (where this has been
fixed), or change your sql to use an explicit cast.
String query = "SELECT * FROM types WHERE _numeric_= cast(? as numeric)";
thanks,
--Barry
Vicente Alabau Gonzalvo wrote:
> Hello,
>
> I'm trying to retireve some data from this table:
>
> create table types (_numeric_ numeric);
>
> _numeric_
> -----------
> 10
> (1 row)
>
> usgin jdbc in this way:
>
> If I try to do this query:
> String query = "SELECT * FROM types";
> I can get it as BigDecimal and gives me no problems.
>
> But with this other:
>
> String query = "SELECT * FROM types WHERE _numeric_=? ";
> pStmt = con.prepareStatement(query);
> pStmt.setBigDecimal(1, 10);
>
> and java gives this exception:
>
> java.sql.SQLException: ERROR: Unable to identify an operator
> '=' for types 'numeric' and 'double precision'
>
> I think it's because jdbc matches BigDecimals with 'double precision'
> but I want to match them with 'numeric' instead.
>
>
> Is there any way to do this match? How can I solve this problem?
> Thanks
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>