"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