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

PostgreSQL は整数の除算をどのように処理し、正確な結果を得るにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-26 18:40:18
オリジナル
135 人が閲覧しました

How Does PostgreSQL Handle Integer Division, and How Can I Get Accurate Results?

PostgreSQL の除算演算子: 整数の切り捨てと浮動小数点計算を理解する

PostgreSQL では、除算演算 (/) が予期しない結果を引き起こす可能性があります整数値を扱う場合。不正な計算を回避するには、整数の除算の基本的な動作を理解することが重要です。

次のクエリを考えてみましょう:

SELECT dev_cost / sell_cost FROM software
ログイン後にコピー

ここで、dev_cost は 16000、sell_cost は 7500 です。結果は次のようになると予想されます。 3 ですが、2 が返されます。これは、整数の除算により小数部分が切り捨てられるためです。 result.

目的の値を取得するには、少なくとも 1 つの値を浮動小数点型 (10 進数など) にキャストするか、:: 演算子を使用してその場で変換する必要があります。

SELECT CAST(dev_cost AS DECIMAL) / sell_cost FROM software
ログイン後にコピー
SELECT dev_cost::DECIMAL / sell_cost FROM software
ログイン後にコピー

これらのクエリは、実際の除算である 2.133 を返します。 result.

さらに、ceil() 関数を使用して結果を最も近い整数に切り上げることができます。

SELECT CEIL(dev_cost::DECIMAL / sell_cost) FROM software
ログイン後にコピー

このクエリは、ソフトウェアの必要な量である 3 を返します。開発コストを回収するため。

除算演算を実行するときはこの動作に注意し、正確性を確保するために適切なデータ型とキャストを使用することが重要です。計算。

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

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