Convertir de typ char en float

loveyara Messages postés 18 Date d'inscription mardi 15 mai 2007 Statut Membre Dernière intervention 17 novembre 2009 - 18 sept. 2009 à 14:12
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 - 19 sept. 2009 à 16:39
bjr a tous
j'ai un champs (VLG_TVA) de type char dans une base de donné sqlserveur
je veux faire la convertir en type float
mé il me donne cet erreur erreur de convertision du type de données varchar en float

voila la requete :
select convert(Float,[VLG_TVA])
from VTE_LIGNE

et j'ai essayé aussi

select cast(VLG_TVA as float)
from VTE_LIGNE

aide_moi svp et merci

1 réponse

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
19 sept. 2009 à 16:39
Il n'y a aucun problème a cette convertion, sauf si les valeurs sont stockées avec une virgule.

-- table de test
declare @VTE_LIGNE table( VLG_TVA varchar(100) null );

-- teste différentes valeurs
insert into @VTE_LIGNE values(null) -- NULL
insert into @VTE_LIGNE values('') -- chaine vide
insert into @VTE_LIGNE values('0') -- zero
insert into @VTE_LIGNE values('123') -- entier
insert into @VTE_LIGNE values('123.45') -- flottant (point)
insert into @VTE_LIGNE values('123,45') -- flottant (virgule)

-- convertions
select cast( replace(VLG_TVA,',','.') as float) from @VTE_LIGNE

/*
RESULTATS :
------------
NULL
0.0
0.0
123.0
123.45
123.45
*/


yan_lo_sanVotre texte ICIVotre texte ICI
0
Rejoignez-nous