Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
J'utilise PostgreSql 9.4
Pourquoi SELECT (1/34)*20::float renvoie-t-il zéro (et non 0,588235294)
Alors que, par exemple, SELECT 1/(34*20)::float fonctionne et renvoie bien 0,001470588 ?
Merci de votre retour
Cordialement
Hors ligne
Pour être plus précis, dans le premier cas ((1/34)*20::float), la première opération est 1/34. Comme ce sont des entiers, le résultat de la division entière est 0. Multiplié par 20 en flottant, c'est toujours 0.
Pour le deuxième cas (1/(34*20)::float), on commence par multiplier 34 par 20, puis on convertit le résultat en flottant. Reste la division d'un entier par un flottant, qui donne un résultat en flottant.
Bref, l'ordre des opérations a une importance.
Guillaume.
Hors ligne
Et comme ça n'a rien à voir avec le thème "Site PostgreSQL", je déplace.
Guillaume.
Hors ligne
Pages : 1