これは浮動小数点精度と呼ばれるものだと思います。ほとんどすべてのプログラミング言語とデータベースで見つけることができます。これは、データがある程度の精度でのみ保存され、実際には 8.31
として設定されているためです。 おそらく 8.31
ではありません ただし、たとえば 8.31631312381813
そして、それを乗算して ceil すると、異なる値が表示される場合があります。
SQL サーバーのドキュメント ページ あなたは読むことができます:
他のデータベース システムにも同じ問題が存在します。たとえば、mysql Web サイト あなたは読むことができます: