On 14-02-2013 10:29, mauriciobuffon wrote:
> ERROR: operator does not exist: character varying <> integer
> SQL state: 42883
> Hint: No operator matches the given name and argument type(s). You might
> need to add explicit type casts.
> Character: 53
> 
> Até aqui, tranquilo. No banco, o campo 'id_prod_sit' da tabela 'produtos'
> está definido como VARCHAR(1) e a query não utiliza aspas simples. Mas, o
> que me chamou a atenção foi que no banco antigo esse erro não acontecia.
> Então, executei a query tal qual acima através do querytool no banco antigo
> e, voilá, funciona!
> 
> Já gastei umas 2 horas no google procurando alguma menção a campos VARCHAR
> tratando aspas simples de forma opcional e nada.
> 
Os casts implícitos para TEXT foram removidos na versão 8.3 (vide [1]). Quanto
a aspas simples, elas sempre foram requeridas para campos texto (TEXT, VARCHAR
e CHAR) -- vide [2].

O que você deve fazer é corrigir a sua aplicação. A sua consulta ficará:

SELECT no_prod_unid FROM produtos WHERE id_prod_sit != '2' and cd_proddesc = 27


[1] http://www.postgresql.org/docs/current/static/release-8-3.html#AEN123497
[2]
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS


-- 
   Euler Taveira de Oliveira - Timbira       http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a