[SQL2005] Ecart de valeur selon sqlcmd.exe ou Sql Server Management
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