Неявное преобразование типов в SQL приводит к ошибкам точности, как я могу это остановить? - PullRequest
0 голосов
/ 04 апреля 2019

Я использую базу данных для хранения некоторой информации о деньгах в разрабатываемом приложении, но, хотя во всех строках таблицы хранятся десятичные числа с максимальными двумя десятичными разрядами, SELECT SUM(value) FROM income возвращает число с более десяти десятичными числами.мест (15327.880000000005).

Я обнаружил, что SQL (или, по крайней мере, SQLite) неявно преобразует типы данных в запросах, поэтому он, вероятно, преобразуется в REAL, и, видимо, именно поэтому моя проблема исходит от.

IЯ пытался изменить тип столбца с DECIMAL на DECIMAL (10,2), NUMERIC и даже INTEGER, но база данных, кажется, игнорирует его и дает мне те же результаты со многими десятичными разрядами.

Как янехватка точности не приветствуется, так как я могу помешать запросам возвращать неточные результаты?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...