Когато стартирате заявката:
SELECT * FROM some_table WHERE id = 123
Разчитате на потребителския интерфейс за форматиране на числата с плаваща запетая. Интерфейсът, който използвате, използва два знака, а не повече. В крайна сметка няма информация за „правилния“ номер, която да се покаже.
Можете да убедите интерфейса да покаже правилното число, като форматирате числото като низ или като десетичен знак. Например:
select format(some_float_field, 3)
ще преобразува това в низ с три знака след десетичната запетая. Едно предупреждение:той също така ще добави запетаи, които може да не искате. Това също трябва да работи:
select cast(some_float_field as decimal(8, 3))
Имайте предвид, че можете лесно да потвърдите, че данните са правилни, като направите нещо като:
select *
from some_table
where some_float_field between 1919.987 - 0.0001 and 1919.987 + 0.0001;
Имайте предвид, че не искате да използвате =
върху стойностите с плаваща запетая, но вече разбирате това.