ホームページ > データベース > mysql チュートリアル > PostgreSQL での不正確な整数の除算を回避するにはどうすればよいですか?

PostgreSQL での不正確な整数の除算を回避するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-27 17:46:10
オリジナル
889 人が閲覧しました

How Can I Avoid Inaccurate Integer Division in PostgreSQL?

PostgreSQL での除算 (/) の不正確さ

PostgreSQL で除算を実行する場合、正確な結果を保証するために関係するデータ型を考慮することが重要です。開発コストを回収するために販売するソフトウェアの数量を決定することが目的である上記のケースでは、整数の除算によって不正確な結果が生じる可能性があります。

提供されたクエリでは、dev_cost と sell_cost は両方とも整数型です。整数の除算では、結果がゼロに向かって切り捨てられます。つまり、16000 を 7500 で除算すると、予想される 3 ではなく 2 が得られます。

正確な結果を得るには、少なくとも 1 つの値を浮動小数点にキャストする必要があります。 float や 10 進数などの型。あるいは、::10 進数構文を使用して、dev_cost を明示的に暗黙的に 10 進数に変換することもできます。これにより、除算が浮動小数点演算に強制され、切り捨てられない除算が行われます。

次の変更されたクエリを検討してください。

select dev_cost::decimal / sell_cost from software ;
ログイン後にコピー

代わりに、ceil() 関数を使用することもできます。結果を最も近い整数に切り上げる:

select ceil(dev_cost::decimal / sell_cost) from software ;
ログイン後にコピー

これらの手法を利用すると、正確な除算結果を得ることができます。これにより、データベース クエリに基づくビジネス計算が確実に行われるようになります。

以上がPostgreSQL での不正確な整数の除算を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート