1. ホーム
  2. sql

[解決済み] Postgresqlで除算( / )の答えが出ない

2022-09-09 03:57:15

質問

私はテーブル software というカラムがあり、その中に dev_cost , sell_cost . もし dev_cost が 16000 で sell_cost は7500です。

を回収するために、販売するソフトウェアの数量はどのように求めればよいのでしょうか。 dev_cost ?

私は以下のようにクエリを実行しました。

select dev_cost / sell_cost from software ;

答えとして2が返されています。しかし、3を得る必要がありますよね?

そのためにはどのようなクエリになるのでしょうか?よろしくお願いします。

どのように解決するのですか?

カラムが整数型であり 整数の除算は結果をゼロの方向に切り捨てます。 . 正確な結果を得るには、次のようにする必要があります。 値の少なくとも1つを浮動小数点数または10進数にキャストする必要があります。 :

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

または単に

select dev_cost::decimal / sell_cost from software ;

次に、結果を最も近い整数に切り上げるために ceil() 関数を使います。

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

(参照 のデモをご覧ください。 .)