Když spustíte dotaz:
SELECT * FROM some_table WHERE id = 123
Při formátování čísel s plovoucí desetinnou čárkou se spoléháte na uživatelské rozhraní. Rozhraní, které používáte, používá spíše dva znaky než více. Koneckonců, neexistují žádné informace o „správném“ čísle k zobrazení.
Rozhraní můžete přesvědčit, aby zobrazilo správné číslo, naformátováním čísla jako řetězce nebo jako desetinné číslo. Například:
select format(some_float_field, 3)
převede to na řetězec se třemi desetinnými místy. Jedno upozornění:přidá také čárky, které možná nebudete chtít. Toto by také mělo fungovat:
select cast(some_float_field as decimal(8, 3))
Všimněte si, že správnost dat můžete snadno ověřit tak, že uděláte něco jako:
select *
from some_table
where some_float_field between 1919.987 - 0.0001 and 1919.987 + 0.0001;
Všimněte si, že nechcete použít =
na hodnotách s pohyblivou řádovou čárkou, ale to už chápete.