From: | Gregory Stark <stark(at)enterprisedb(dot)com> |
---|---|
To: | aarni(at)kymi(dot)com |
Cc: | pgsql-general(at)postgresql(dot)org, novnov <novnovice(at)gmail(dot)com> |
Subject: | Re: Error: Operator does not exist: "char"=integer |
Date: | 2008-12-18 23:29:06 |
Message-ID: | 87fxklkqpp.fsf@oxford.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Aarni <aarni(at)kymi(dot)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!
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Marlowe | 2008-12-19 00:03:26 | Re: Hi iam the beginner |
Previous Message | Alan Hodgson | 2008-12-18 22:52:10 | Re: Postgre Tables problem |