Lorsque vous exécutez la requête :
SELECT * FROM some_table WHERE id = 123
Vous comptez sur l'interface utilisateur pour formater les nombres à virgule flottante. L'interface que vous utilisez utilise deux caractères plutôt que plus. Après tout, il n'y a aucune information sur le "bon" numéro à afficher.
Vous pouvez convaincre l'interface d'afficher le bon nombre en formatant le nombre sous forme de chaîne ou de nombre décimal. Par exemple :
select format(some_float_field, 3)
le convertira en une chaîne avec trois décimales. Une mise en garde :cela ajoutera également des virgules que vous ne voudrez peut-être pas. Cela devrait également fonctionner :
select cast(some_float_field as decimal(8, 3))
Notez que vous pouvez facilement vérifier que les données sont correctes en procédant comme :
select *
from some_table
where some_float_field between 1919.987 - 0.0001 and 1919.987 + 0.0001;
Notez que vous ne voulez pas utiliser =
sur les valeurs à virgule flottante, mais vous le comprenez déjà.