Se for no Windows, abra o executável no "Ultra-Edit" (ou outro editor hexa
de sua preferência) e veja se dá pra consertar o SQL. Dependendo da forma
como eles são montados, pode ser possível. A coisa mais simples seria trocar
os LIKE por = onde for necessário, removendo os % também.

Em 1 de março de 2011 09:20, Marco Aurélio Carvalho Feitosa <
[email protected]> escreveu:

> Em 28-02-2011 19:37, Marcal Hokama escreveu:
> > ----------------------------------------
> >> Date: Mon, 28 Feb 2011 14:02:05 -0400
> >> From: [email protected]
> >> To: [email protected]
> >> Subject: Re: [pgbr-geral] Operador varchar = int8 no postgreSQL 9
> >>
> >> Em 28-02-2011 13:09, Flavio Henrique Araque Gurgel escreveu:
> >>>> Olá a todos.
> >>>>
> >>>> Ha alguns anos, migrei um sistema legado do MS SQLServer para
> PostgreSQL.
> >>>> Esse sistema faz consultas do tipo:
> >>>>
> >>>> SELECT * FROM organizacional.funcionario WHERE matricula = 989676;
> >>>>
> >>>> onde matricula é um varchar.
> >>>>
> >>>> Até a versão 8.1 (que utilizávamos aqui até o mês passado) o SGBD
> aceitava
> >>>> comparações varchar = int, bem como int = varchar.
> >>>>
> >>>> Depois de atualizarmos para versão 9.0.2 esta consulta passou a dar
> erro:
> >>>> Error: ERRO: operador não existe: character varying = integer
> >>>> SQLState: 42883
> >>>>
> >>>> Tentei contornar o problema criando os operadores:
> >>>> CREATE OPERATOR = (PROCEDURE = fn_int8eqvarchar, LEFTARG = int8 ,
> RIGHTARG =
> >>>> varchar)
> >>>> CREATE OPERATOR = (PROCEDURE = fn_varchareqint8, LEFTARG = varchar ,
> RIGHTARG =
> >>>> int8)
> >>>>
> >>>> Mas tive um efeito colateral inadmissível. Comparações varchar =
> varchar
> >>>> passaram a dar erro:
> >>>> Error: ERRO: sintaxe de entrada é inválida para integer: "P"
> >>>> SQLState: 22P02
> >>>>
> >>>> Alguma sugestão?
> >>> Conserte sua aplicação. Ela é que está errada, não o banco de dados.
> >>> Isso já foi discutido aqui e nos fóruns internacionais. Os
> >>> desenvolvedores avisaram sobre isso nos release notes.
> >>> A conversão automática de tipos foi removida a partir do PostgreSQL
> >>> 8.3, ou seja, já faz tempinho.
> >>>
> >>> []s
> >>> Flavio Gurgel
> >>> _______________________________________________
> >>> pgbr-geral mailing list
> >>> [email protected]
> >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >>>
> >>
> >> Não tenho essa opção, e se for a única, vou ter que apelar para um
> downgrade.
> >>
> >> _______________________________________________
> >> pgbr-geral mailing list
> >> [email protected]
> >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> > Não é possível a conversão da coluna organizacional.funcionario.matricula
> de varchar para integer? Pelo que pude perceber da sua consulta só tem
> valores numéricos neste campo.
> > Um abraço,
> > Marçal de Lima [email protected]
> > _______________________________________________
> > pgbr-geral mailing list
> > [email protected]
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
> Não, o mesmo maldito sistema faz consultas nesse campo com like.
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Atenciosamente,
Alexsander da Rosa
http://rednaxel.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a