Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] como coloco un float en un renombre

Estas en el tema de como coloco un float en un renombre en el foro de Mysql en Foros del Web. buenas noches necesirto de su ayuda, estoy creando una tabla de otra pero necesito renombrar unos campos pero dichos campos deben de ser de dos ...
  #1 (permalink)  
Antiguo 26/02/2016, 17:07
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
Mensaje como coloco un float en un renombre

buenas noches necesirto de su ayuda, estoy creando una tabla de otra pero necesito renombrar unos campos pero dichos campos deben de ser de dos decimales estoy utilizando float pero me da error

en los campos ac1,ac2,ac3,ba1,ba2,ba3 deben de tener 2 decimales si alguien me puede ayudar lo agadeceria.

Código MySQL:
Ver original
  1. create view vista_indicadores as
  2. estado.rif,
  3. estado.nombre,
  4. estado.periodo1,
  5. estado.periodo2,
  6. estado.periodo3,
  7. estado.actcorto1,
  8. estado.actcorto2,
  9. estado.actcorto3,
  10. estado.pascorto1,
  11. estado.pascorto2,
  12. estado.pascorto3,
  13. estado.pas1,
  14. estado.pas2,
  15. estado.pas3,
  16. estado.act1,
  17. estado.act2,
  18. estado.act3,
  19. (estado.actcorto1/estado.pascorto1) as ac1,
  20. (estado.actcorto2/estado.pascorto2) as ac2,
  21. (estado.actcorto3/estado.pascorto3) as ac3,
  22. (estado.pas1/estado.act1)*100 as ba1,
  23. (estado.pas2/estado.act2)*100 as ba2,
  24. (estado.pas3/estado.act3)*100 as ba3
  25. from estado
__________________
ymanol caires z

Última edición por gnzsoloyo; 26/02/2016 a las 18:05
  #2 (permalink)  
Antiguo 26/02/2016, 18:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: como coloco un float en un renombre

Usa el manual de referencia. Allí está la descripción de todas las funciones útiles:12.6 Numeric Functions and Operators

Ver: ROUND()

Código MySQL:
Ver original
  1. mysql> SELECT ROUND(150.000,2), ROUND(150,2);
  2. +------------------+--------------+
  3. | ROUND(150.000,2) | ROUND(150,2) |
  4. +------------------+--------------+
  5. |           150.00 |          150 |
  6. +------------------+--------------+

Por cierto, noto que tu tabla no esta normalizada. ¿Lo has visto?
¿Tuviste en cuenta que una tabla sin normalziación es proclive a generar consultas ineficientes, además de inconsistencia de datos?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 26/02/2016, 18:49
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: como coloco un float en un renombre

se trata de que el alias es decir el as tenga dos decimales
__________________
ymanol caires z
  #4 (permalink)  
Antiguo 26/02/2016, 19:08
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: como coloco un float en un renombre

Por empezar, un ALIAS es un nombre de columna que reemplaza a otro, por lo que un alias NO PUEDE tener decimales. En todo caso lo tienen los valores que devuelve esa columna de datos.
Además, el AS es una clausula, obsoleta, irrelevante y ya no pertenece al estandar. No la necesitas para nada.

Finalmente: ¿Qué parte no entiendes de como se usa ROUND() sobre una columna de datos numericos con decimales?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 26/02/2016, 19:15
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: como coloco un float en un renombre

solucionado

Código SQL:
Ver original
  1. CREATE VIEW vista_indicadores AS
  2. SELECT
  3. estado.rif,
  4. estado.nombre,
  5. estado.periodo1,
  6. estado.periodo2,
  7. estado.periodo3,
  8. estado.actcorto1,
  9. estado.actcorto2,
  10. estado.actcorto3,
  11. estado.pascorto1,
  12. estado.pascorto2,
  13. estado.pascorto3,
  14. estado.pas1,
  15. estado.pas2,
  16. estado.pas3,
  17. estado.act1,
  18. estado.act2,
  19. estado.act3,
  20. round(estado.actcorto1/estado.pascorto1,2) AS ac1,
  21. round(estado.actcorto2/estado.pascorto2,2) AS ac2,
  22. round(estado.actcorto3/estado.pascorto3,2) AS ac3,
  23. round((estado.pas1/estado.act1)*100,2) AS ba1,
  24. round((estado.pas2/estado.act2)*100,2) AS ba2,
  25. round((estado.pas3/estado.act3)*100,2) AS ba3
  26. FROM estado
__________________
ymanol caires z

Última edición por gnzsoloyo; 26/02/2016 a las 19:25
  #6 (permalink)  
Antiguo 26/02/2016, 19:16
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: como coloco un float en un renombre

aqui le dejo como un alias puede tener decimales amigo.
saludos y gracias
__________________
ymanol caires z
  #7 (permalink)  
Antiguo 26/02/2016, 19:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: como coloco un float en un renombre

Ya te dije el ALIAS mismo no puede tener decimales. Es solamente un nombre de objeto de base de datos. Los decimales los tienen los DATOS.
Procura expresarte técnicamente bien, para evitar confusiones.

Para ser específico, toda columna puede ser formateada en su salida de acuerdo a las necesidades, conforme a su tipo de datos y fundamentalmente aprendiendo a usar el manual de referencia, para entender el modo de uso de las funciones adecuadas.

Una nota final: Si el tipo de datos es para representar valores monetarios, o decimales con precisión, el tipo de datos de la columna no debe ser FLOAT, sino DECIMAL. ¿Eso lo tienes claro?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campo, float, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:19.