PB d'affichage de résultat en sql server [Résolu]

Signaler
Messages postés
23
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
29 septembre 2014
-
Messages postés
23
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
29 septembre 2014
-
Bjr a ts ,
j'ai un petit soucis avec l'affichage de mon résultat sur sql server express2008 voilà ma requête


SELECT SUM (NB1)/258151 as S1
From
(SELECT COUNT (champ1) AS NB1
From BNTRAIN
where champ1 between 0 and 10000
having (count) champ1 >=1


le résultat que je suis sensée avoir c'est 0.967...........;(un float quoi)
mais la il m'affiche que le 0 (que la partie entière)
j'ai essayé la même requête avec la même BDD(BNTRAIN) sur Oracleexpress ça a marché j'ai eu le résultat en entier (0.967...........)
veuillez m'aider svp
cordialement. /i

2 réponses

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Salut,

Si tu CAST le NB1 as float dans l'appel de SUM alors cette dernière renverra également un float. Et float/int = float, donc tu devrais obtenir la valeur non tronquée.

bon SQL
Messages postés
23
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
29 septembre 2014

Merci beaucoup Jopop ça a marché
en fait avant j'ai fait le cast mais avant la somme suit:
'SELECT Cast ( SUM ((NB1)/258151 )as float(20)) as som'
+' From ( SELECT Count(champ1) as NB1 FRom BNTrain where champ1 between 0 and 10000 )BNtrain'
la bonne formule c celle la
'SELECT SUM ( cast(NB1 as float (20))/258151) as som'
+' From ( SELECT Count(champ1) as NB1 FRom BNTrain where champ1 between 0 and 10000 )BNtrain'
j'espére quelle sera utile a un débutant comme moi en sql server