O que o Irineu passou está correto (acho), mas só para explicar, o PostgreSQL assim como C/C++ assumem que o operador de divisão quando feito para dois inteiros deve retornar um inteiro. Logo, caso queira decimal você deve converter pelo menos um dos elementos para decimal.
Att. -- Matheus de Oliveira Bacharelado em Ciências de Computação Laboratório de Computação de Alto Desempenho - LCAD<http://www.lcad.icmc.usp.br/> Instituto de Ciências Matemáticas e de Computação - ICMC<http://www.icmc.usp.br/> Universidade de São Paulo - USP <http://www.sc.usp.br/> On Tue, Apr 3, 2012 at 8:02 AM, Irineu <[email protected]> wrote: > Em 03/04/2012 07:25, Pedro Costa escreveu: > > Pessoal este update retorna apenas números inteiros apesar de o campo > > percentagem ser double precision: > > > > > > update estacionamento > > set percentagem = ((select count (n_passeio) from passeios where > > estacionamt =4)*100)/(select count(n_passeio)from passeios) > > where classe like '4'; > > > > > tente o seguinte: > update estacionamento set percentagem = ((select count (n_passeio) from > passeios where estacionamt =4)::numeric*100)/(select > count(n_passeio)from passeios)::numeric where classe like '4'; > > -- > Irineu Raymundo > Programador/Consultor Técnico > Senda Engenharia de Dados Ltda. > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
