Я использую базу данных для хранения некоторой информации о деньгах в разрабатываемом приложении, но, хотя во всех строках таблицы хранятся десятичные числа с максимальными двумя десятичными разрядами, SELECT SUM(value) FROM income
возвращает число с более десяти десятичными числами.мест (15327.880000000005).
Я обнаружил, что SQL (или, по крайней мере, SQLite) неявно преобразует типы данных в запросах, поэтому он, вероятно, преобразуется в REAL, и, видимо, именно поэтому моя проблема исходит от.
IЯ пытался изменить тип столбца с DECIMAL на DECIMAL (10,2), NUMERIC и даже INTEGER, но база данных, кажется, игнорирует его и дает мне те же результаты со многими десятичными разрядами.
Как янехватка точности не приветствуется, так как я могу помешать запросам возвращать неточные результаты?