Saya pikir ini disebut presisi float. Anda dapat menemukannya di hampir semua bahasa pemrograman dan di Database juga. Ini karena data disimpan hanya dengan presisi tertentu dan sebenarnya apa yang Anda tetapkan sebagai 8.31
mungkin bukan 8.31
tapi misalnya 8.31631312381813
dan ketika mengalikannya dan ceil itu dapat menyebabkan nilai yang berbeda muncul.
Di halaman dokumentasi server SQL Anda dapat membaca:
Dalam sistem database lain masalah yang sama ada. Misalnya di situs web mysql Anda dapat membaca: