Re: [INTERFACES] problem with numeric

From: Byron Nikolaidis <byron(dot)nikolaidis(at)home(dot)com>
To: "Ken J(dot) Wright" <ken(at)ori-ind(dot)com>
Cc: pgsql-interfaces(at)postgreSQL(dot)org
Subject: Re: [INTERFACES] problem with numeric
Date: 2000-02-02 01:52:44
Message-ID: 38978DEC.6E06E701@home.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

"Ken J. Wright" wrote:
>
> v6.5.3
>
> While testing the new ODBC driver I ran into the following problem with
> queries on numeric fields. Unless the values are surrounded by single quote
> marks, the query fails with the message: Unable to identify an operator '='
> for types 'numeric' and 'float'. This occurs in the WHERE clause of the
> query.
>
> SELECT * from tbl WHERE numfld = 99.125;
> UPDATE tbl SET numfld = 99.13 WHERE numfld = 99.125;
>
> An INSERT works fine.
>
> These statements execute ok on float fields, but not numeric. This happens
> via ODBC and also with psql from a Linux console.
>
> Ken
>
> ************

Ok, I can put quotes around it, as long as you use a bound parameter.
In other words, you have to use something like "select * from tbl where
numfld = ?", and then bind parameter 1 to be the numeric type.

The driver will not try to put quotes around a numeric embedded into an
sql query.

For completeness, I think Postgres should work with or without the
quotes, after all, it is a numeric field. If this where the case, then
flat queries (i.e., no Bounded parameters) would work too.

You might want to post this to the hackers list too.

Byron

Byron

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Byron Nikolaidis 2000-02-02 03:29:46 Re: [INTERFACES] problem with numeric
Previous Message Byron Nikolaidis 2000-02-02 01:39:30 Re: [INTERFACES] ODBC bind trouble with bigint