PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Division ( / ) gibt meine Antwort nicht in postgresql

Ihre Spalten haben ganzzahlige Typen, und die Ganzzahldivision schneidet das Ergebnis in Richtung Null ab. Um ein genaues Ergebnis zu erhalten, müssen Sie mindestens einen der Werte in Float oder Dezimal umwandeln:

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

oder einfach:

select dev_cost::decimal / sell_cost from software ;

Sie können das Ergebnis dann mit ceil() auf die nächste ganze Zahl aufrunden Funktion:

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

(Siehe Demo auf SQLFiddle.)