Comunidad de diseño web y desarrollo en internet online

No funciona el operador de dividir

Citar            
MensajeEscrito el 06 Dic 2007 03:55 pm
HOLA A TODOS.

espero me puedan ayudar en esta oportunidad. Resulta que necesito calcular un porcentaje y meterlo en una variable, lo hago de la siguiente manera y me muestra que el resultado de la variable siempre es 0. Ya no se que mas probar, no se porque motivo no me acepta el operador de division porque si pruebo setear la variable con cualquier otra operacion si funciona.

---- esto es lo que he probado y no funciona----
SET PORCENTAJE := (SUMA*100)/4484; #me llena la variable porcentaje de 0
SELECT (SUMA*100)/TOTAL INTO PORCENTAJE;

----y de esta manera si me muestra lo que quiero-------
SELECT (SUMA*100)/TOTAL;

Por mala

8 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 06 Dic 2007 04:07 pm
Y si le pines un parentis mas que pasa:

Código :

SELECT ((SUMA*100)/TOTAL) INTO PORCENTAJE;

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 07 Dic 2007 02:31 pm
Ya lo probe pero me sigue dando lo mismo. Me aparece PORCENTAJE = 0 y no con el valor del calculo... quisiera saber la razon!!!

Por mala

8 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 07 Dic 2007 02:40 pm
lLISTOOO AMIGOS!!!

ya vi el error, no era que el calculo no lo hacia, lo que sucede es que Mysql redondea todo y no expresa los resultados reales los cuales son importantisimos para el trabajo que estoy realizando ya que son para una empresa de telecom y necesitan saber porcentajes bajos y exactos hasta de 0,05.

Alguien sabe como hacer para que no me tome los valores enteros de una sola vez????

Por mala

8 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 07 Dic 2007 03:57 pm
puedes usar ROUND():
ROUND(X), ROUND(X,D)

Retorna el argumento X, redondeado al entero más cercano. Con dos argumentos, retorna X redondeado a D decimales. D puede ser negativo para redondear D dígitos a la izquierda del punto decimal del valor X.

Código :

SELECT ROUND((SUMA*100)/TOTAL, 2) INTO PORCENTAJE;

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 07 Dic 2007 04:48 pm
Declara PORCENTAJE como FLOAT (flotante), seguro lo tienes como INT (Entero) y mysql te redondea el numero automaticamente.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 07 Dic 2007 06:39 pm
gRACIAS A LOS DOS POR SUS CONSEJOS YA ESTA LISTO!!!

Por mala

8 de clabLevel



Genero:Femenino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.