On Tue, Jul 11, 2006 at 13:11:16 -0400, Paul Tilles <Paul.Tilles@xxxxxxxx> 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.