sql >> Base de Datos >  >> RDS >> PostgreSQL

División (/) no da mi respuesta en postgresql

Sus columnas tienen tipos enteros, y la división de enteros trunca el resultado hacia cero. Para obtener un resultado preciso, deberá convertir al menos uno de los valores en flotante o decimal:

select cast(dev_cost as decimal) / sell_cost from software ;

o simplemente:

select dev_cost::decimal / sell_cost from software ;

A continuación, puede redondear el resultado al número entero más próximo mediante ceil() función:

select ceil(dev_cost::decimal / sell_cost) from software ;

(Ver demostración en SQLFiddle.)