■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
計算式 2007/09/10 14:19 OB 1
バージョン:9.0.1.4
Oracle:8i

select 300 * (1 / 60) from dual
を実行すると
5.00000000000000000000000000000000000001
となります。

select 120 * (1 / 60) from dual
は
2
が戻されます。

上の計算式ですが、なぜこの様な結果になるのでしょうか?
SQL*Plusでは正常に 5 が戻されました。
Re: 計算式 2007/09/12 12:15 OB
こんにちは
後迫@SIです。

現象について確認いたしました。

1/60など割り切れない値を計算している場合、
誤差が発生する場合があるようです。

誠に申し訳ございませんが、
内部で使用しているOracleの接続インタフェース
(OCI.DLL)の問題により発生するようですので修正は困難ですが、
今後のバージョンアップで修正を検討させていただきますので、
何卒よろしくお願いいたします。