je lance une requête: select *,(totalsanssuite*1000/totaltraiter) as ratio celle-ci me donne un résultat en nombre entier, je voudrais qu'il me donne un résultat en décimal avec 3chiffres après la virgule.....
ah ben zut alors. Quel SGBD?
sql server
http://msdn.microsoft.com/library/ [...] o_2f3o.asp
Result Types Returns the data type of the argument with the higher precedence. For more information about data type precedence, see Data Type Precedence. If an integer dividend is divided by an integer divisor, the result is an integer that has any fractional part of the result truncated.
Donc tu dois caster un des opérandes de ta division... http://msdn.microsoft.com/library/ [...] o_2f3o.asp
c'est quoi que tu saisis pas? totalsanssuite et totaltraiter sont des entiers, non?
oui, mais ??
Donc si tu ne castes pas l'un des 2 en flottant, il te retourne un entier. C'est ce que dit le passage que je t'ai cité.
ah par contre je me suis planté sur le prremier lien... c'était ça: http://msdn.microsoft.com/library/ [...] frame=true
cela m'explique pas de me s'implifier le resultat en decimal
oh hé bouge un peu ton cul et lis la doc! Il faut que tu castes l'un des opérandes en float pour avoir un résultat float, je te dis!
t gentil mais j'ai jamais fait sa, donc j'ai juste tapé ..., float totalsanssuite sa slance, j'y crois et mess d'erreur jme disais aussi simple... aide moi plus l'ami merci
je t'ai filé le lien de la doc pour le cast...on est pas là pour te pondre des solutions toutes faites, faut aussi te bouger un peu.
je crac, serieux sa fait deux heures que jsuis sur t doc que j'essaye des solutions sa mcasse gave..
j'ai essayé sa select *, convert ( numeric (15 ,2), ( convert, totalsanssuite * 1000/ totaltraiter ) as ratio from #temp1 en vain....