sql >> Databáze >  >> RDS >> PostgreSQL

Divize ( / ) nedává mou odpověď v postgresql

Vaše sloupce mají celočíselné typy a celočíselné dělení zkrátí výsledek směrem k nule. Chcete-li získat přesný výsledek, budete muset přetypovat alespoň jednu z hodnot na plovoucí nebo desetinné:

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

nebo jen:

select dev_cost::decimal / sell_cost from software ;

Výsledek pak můžete zaokrouhlit nahoru na nejbližší celé číslo pomocí ceil() funkce:

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

(Viz ukázku na SQLFiddle.)



  1. Vyhněte se těmto 4 běžným chybám DBA

  2. PostgreSQL High Availability instalací Patroni

  3. sqlite:jak přidat celkový čas hh:mm:ss, kde je datový typ sloupce DATETIME?

  4. Konfigurace mysql se zastaví při spuštění serveru