Re: Error: Operator does not exist: "char"=integer - Mailing list pgsql-general

From Gregory Stark
Subject Re: Error: Operator does not exist: "char"=integer
Date
Msg-id 87fxklkqpp.fsf@oxford.xeocode.com
Whole thread Raw
In response to Re: Error: Operator does not exist: "char"=integer  (Aarni <aarni@kymi.com>)
Responses Re: Error: Operator does not exist: "char"=integer
List pgsql-general
Aarni <aarni@kymi.com> writes:

> "ERROR:  operator does not exist: character varying = integer at character 286
> HINT:  No operator matches the given name and argument type(s). You might need
> to add explicit type casts."
>
> Quick fix to sql statements eg.
>
> ... WHERE CAST (your_char AS INTEGER) = integer ...
> ... WHERE CAST (your_char AS INTEGER) IN (1,2,3,...)

Note that this is *not* what was happening in 8.2. There it was casting them
to text and doing a text comparison. In the case of integer and equality
they're probably equivalent. However < and > will behave quite differently.
That's why the casts disappeared -- you probably weren't running the queries
you thought you were running in 8.2 and previously.

--
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com
  Get trained by Bruce Momjian - ask me about EnterpriseDB's PostgreSQL training!

pgsql-general by date:

Previous
From: Aarni
Date:
Subject: Re: Error: Operator does not exist: "char"=integer
Next
From: "Scott Marlowe"
Date:
Subject: Re: Hi iam the beginner