Division de nombre reel

Le
JOE DALTON
Bonjour
Je dois faire des statistiques et resortir des taux. KelK'un peut me
conseiller car quand je fais
SELECT 2450/25000 * 100 j'ai toujours égale à zéro
SELECT 2450 * 100 / 25000 me donne 9 alors que le résultat réel est 9,8

Merci d'avance

--


Joe Dalton
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Vuillermet Jacques
Le #11329531
SELECT cast((2450) as decimal(18,2)) / 25000 * 100

Le type de résultat d'une opération est déduit du type de chacun des termes,
le choix étant fait sur le type le plus large.

Donc une opération avec des types entiers renvoie un entier.

Il "suffit" de caster un des termes en décimal et le résultat sera de type
décimal.

Jacques.


"JOE DALTON" uwgGU8$
Bonjour
Je dois faire des statistiques et resortir des taux. KelK'un peut me
conseiller car quand je fais
SELECT 2450/25000 * 100 j'ai toujours égale à zéro
SELECT 2450 * 100 / 25000 me donne 9 alors que le résultat réel est 9,8

Merci d'avance

--

================================ > Joe Dalton
================================ >



JOE DALTON
Le #11329511
Merci je vais essayer ça

"Vuillermet Jacques" news:%
SELECT cast((2450) as decimal(18,2)) / 25000 * 100

Le type de résultat d'une opération est déduit du type de chacun des


termes,
le choix étant fait sur le type le plus large.

Donc une opération avec des types entiers renvoie un entier.

Il "suffit" de caster un des termes en décimal et le résultat sera de type
décimal.

Jacques.


"JOE DALTON" uwgGU8$
> Bonjour
> Je dois faire des statistiques et resortir des taux. KelK'un peut me
> conseiller car quand je fais
> SELECT 2450/25000 * 100 j'ai toujours égale à zéro
> SELECT 2450 * 100 / 25000 me donne 9 alors que le résultat réel est 9,8
>
> Merci d'avance
>
> --
>
> ================================ > > Joe Dalton
> ================================ > >
>




Sylvain Lafontaine
Le #11329491
Ajoutez un zéro sur le premier niveau de regroupement:

SELECT 2450.0/25000 * 100

L'écriture SELECT 2450/25000 * 100.0 ne sera pas suffisante car la division
sera effectuée avec des nombres entiers avant sa conversion on nombre réel
pour sa multiplication avec 100.0

S. L.

"JOE DALTON" news:uwgGU8$
Bonjour
Je dois faire des statistiques et resortir des taux. KelK'un peut me
conseiller car quand je fais
SELECT 2450/25000 * 100 j'ai toujours égale à zéro
SELECT 2450 * 100 / 25000 me donne 9 alors que le résultat réel est 9,8

Merci d'avance

--

================================ > Joe Dalton
================================ >



JOE DALTON
Le #11329461
C'était vraiment bcp plus simple
Merci BCP


"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news:
Ajoutez un zéro sur le premier niveau de regroupement:

SELECT 2450.0/25000 * 100

L'écriture SELECT 2450/25000 * 100.0 ne sera pas suffisante car la


division
sera effectuée avec des nombres entiers avant sa conversion on nombre réel
pour sa multiplication avec 100.0

S. L.

"JOE DALTON" news:uwgGU8$
> Bonjour
> Je dois faire des statistiques et resortir des taux. KelK'un peut me
> conseiller car quand je fais
> SELECT 2450/25000 * 100 j'ai toujours égale à zéro
> SELECT 2450 * 100 / 25000 me donne 9 alors que le résultat réel est 9,8
>
> Merci d'avance
>
> --
>
> ================================ > > Joe Dalton
> ================================ > >
>




Publicité
Poster une réponse
Anonyme