sql >> Database >  >> RDS >> PostgreSQL

Divisie ( / ) geeft mijn antwoord niet in postgresql

Uw kolommen hebben integer-types en integer-deling kapt het resultaat af richting nul. Om een ​​nauwkeurig resultaat te krijgen, moet u ten minste één van de waarden naar zwevend of decimaal casten:

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

of gewoon:

select dev_cost::decimal / sell_cost from software ;

U kunt het resultaat dan naar boven afronden op het dichtstbijzijnde gehele getal met behulp van de ceil() functie:

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

(Zie demo op SQLFiddle.)



  1. Problemen oplossen:MySQL/MariaDB-fout #1044 Е Toegang geweigerd voor gebruiker

  2. Hoe de primaire sleutel voor automatisch verhogen in PostgreSQL in te stellen?

  3. Vind alle niet-numerieke waarden in een kolom in MariaDB

  4. Hoe een uitzondering binnen een trigger te verhogen? Is er een manier om dit te doen?