| 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: | Whole Thread | Raw Message | 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
| 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 |