PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Divisão (/) não dando minha resposta no postgresql


Suas colunas têm tipos inteiros e a divisão inteira trunca o resultado em direção a zero. Para obter um resultado preciso, você precisará converter pelo menos um dos valores em float ou decimal:
select cast(dev_cost as decimal) / sell_cost from software ;

ou apenas:
select dev_cost::decimal / sell_cost from software ;

Você pode então arredondar o resultado para o inteiro mais próximo usando o ceil() função:
select ceil(dev_cost::decimal / sell_cost) from software ;

(Veja demonstração no SQLFiddle.)