On Tue, Jul 11, 2006 at 13:11:16 -0400,
  Paul Tilles <[EMAIL PROTECTED]> wrote:
> Version postgres 7.4.7:
> 
> Following sql
> 
> UPDATE tablename SET value = 0.0 where value!=-9.4;
> 
> results in the error message
> 
> ERROR:  operator does not exist: smallint !=- integer
> HINT:  No operator matches the given name and argument type(s). You may 
> need to add explicit type casts.
> 
> Seems that postgres has a problem parsing a "not equal negative value".
> 
> Anybody know if this is fixed in later versions?

I don't think this is a bug. Postgres allows for user defined operators and
!=- looks like one operator rather than two. Putting a space between = and -
will fix the problem. For example:
bruno=> select 1 != -1;
 ?column?
----------
 t
(1 row)

bruno=> select 1 !=-1;
ERROR:  operator does not exist: integer !=- integer
HINT:  No operator matches the given name and argument type(s). You may need to 
add explicit type casts.

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to