----------------------------------------
> 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

Responder a