Je créer une table avec Sql Server Management Studio TabTmp et une colonne ColTmp de type float. J'ajoute une ligne et j'écris 1,19.
Si je fais un select * from TabTmp depuis Sql Server Management Studio : il me retourne 1,19.
Si je fais un select * from TabTmp depuis sqlcmd.exe : il me retourne 1,18999999999999.
Pourquoi cet écart ?
J'ai fait un script .sql que je lance avec sqlcmd.exe
CREATE TABLE [dbo].[TabTmp2] ( [ColTmp] [float] NULL ) ON [PRIMARY] ;
INSERT INTO [dbo].[TabTmp2] ([ColTmp]) VALUES (1.19) ;
select * from TabTmp2
Si je fais un select * from TabTmp2 depuis sqlcmd.exe : il me retourne 1,18999999999999.
Ma question : pourquoi SQL Server 2005 enregistre 1,8999999999999999 au lieu de 1.19 ?
Sqlcmd me semble le plus précis car il m'affiche bien les 10 décimales après la virgule , contrairement à Sql Server Management Studio qui masque les décimales et arrondi la valeur à 1,19
Merci de votre aide
Ami
Serveur : Intel Xeon, SQL Server 2005
Client : Amd 64 avec Sql Server Management Studio Express
Partager