sql >> Databasteknik >  >> RDS >> PostgreSQL

Division ( / ) ger inte mitt svar i postgresql

Dina kolumner har heltalstyper och heltalsdivision trunkerar resultatet mot noll. För att få ett korrekt resultat måste du casta minst ett av värdena till flytande eller decimal:

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

eller bara:

select dev_cost::decimal / sell_cost from software ;

Du kan sedan avrunda resultatet uppåt till närmaste heltal med ceil() funktion:

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

(Se demo på SQLFiddle.)



  1. Fördelar med att använda SQL Ordinal Position Notation?

  2. PostgreSQL UNIX-domänsockets vs TCP-sockets

  3. YEARWEEK() Exempel – MySQL

  4. 5 praktiska databastips för nybörjare