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