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

Responder a