Nueva pregunta

Pregunta:

Fecha: 07-02-2018 23:39:32 (En Español)

¿Es posible cambiar el valor en MySQL?[No resuelta]

Hola a todos, tengo una pequeña duda, la cosa es que he creado unas tablas y dentro de ellas unas columnas con un valor (varchar...) mi pregunta es si es posible cambiar esos valores, ya que en una columna tengo puesto FLOAT pero no me funciona, es decir, ¿como seria posible que me apareciese el dato 40:32 en MySQL? o ¿como deberia de poner el FLOAT?
Un saludo!
Etiquetas: MySQL Votos: 0 - Respuestas: 10 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 09-02-2018 04:55:36 Puedes poner la definición de tu tabla o un fiddle?
    Eso nos ayudaría bastante porque tu pregunta no es muy clara
      Votos: 0 - Link respuesta
     
  • Fecha: 09-02-2018 17:18:41 Modifica el valor VARCHAR por DECIMAL y asignale 10,2
    Te guardará 40.32
    En el caso que la cifra decimal sea mayor cambia a 10,3 ... etc.
    Luego con str_replace('.', ':', $valor); verás 40:32
      Votos: 1 - Link respuesta
     
  • Fecha: 11-02-2018 23:22:34 Hola Pablo! ye he puesto como me dijiste (10,2) pero me sale mal ya que me aparece 40.0 sabrias cual es el problema?   Votos: 0 - Link respuesta
     
  • Fecha: 12-02-2018 02:46:40 Hola Ernesto! la cosa es que tengo creadas varias tablas con diferentes valores. La cosa es que a la hora de estraer un dato que se indica 40:12 (los goles a favor y en contra) solo me saca el 40 y lo demas no. Le puse el valor de FLOAT y no hace nada y mi pregunta es como seria posible que saliera todo el dato.   Votos: 0 - Link respuesta
     
  • Fecha: 12-02-2018 06:08:44 Imanol, no necesitas compartir todas las tablas, solo necesitas crear un ejemplo que se comporte como tu problema.
    Dado que no proporcionas muchos detalles hay muchas maneras en que se puede interpretar tu problema, especialmente cuando no usas la terminología correcta.

    Después de leer y releer tu pregunta creo que lo que quieres decir es que creaste una tabla con sus respectivos campos a los que asignaste un tipo de dato (VARCHAR, ENUM, FLOAT, etc,).

    Al crear tu código te diste cuenta que el tipo de dato que escogiste para cierto campo de la tabla no es el correcto y lo quieres cambiar.

    Si esa es tu pregunta la respuesta es que sí se puede cambiar utilizando la sentencia ALTER TABLE.

    Dale un vistazo a los siguientes links, ahí vas a encontrar todo lo que necesitas:

    Cómo cambiar el tipo de una columna en MySQL?

    Sintáxis de ALTER TABLE

    Si aún así esta no es la respuesta que buscas por favor proporciona más detalles para poder ayudarte mejor.

    Saludos
      Votos: 0 - Link respuesta
     
  • Fecha: 12-02-2018 23:31:21 Hola Ernesto! te pongo un ejemplo:

    la tabla se llama GOALS y le puse tipo FLOAT para que despues apareciese el dato que es 40:20 pero el problema es que me salia solo el 40 entonces un compañero me dijo que pusiera DECIMAL y despues 10,2 y ahora me aparece el dato de 40.00 sin el 20 y quisiera saber como podria aparecer ese 20
      Votos: 0 - Link respuesta
     
  • Fecha: 14-02-2018 09:09:39 No entiendo por qué un FLOAT o DECIMAL para un dato así.

    Los goles a favor y los goles en contra son datos que se deben calcular en una consulta (a menos que sea un warehouse). En fin, esa es mi opinión.

    Si lo quieres guardar en un DECIMAL o FLOAT por defecto se guarda utilizando la notación con punto, es decir que lo deberías guardar como 10.2 y no 10,2 (a menos que hayas cambiado la configuración).

    Ahora bien, si lo que quieres es usar un decimal entonces lo definirías así:

    DECIMAL(4,2)

    Así reservas 4 digitos con 2 para la parte entera y 2 para la parte fraccionaria.

    Espero te sirva.

    Saludos
      Votos: 0 - Link respuesta
     
  • Fecha: 14-02-2018 23:16:06 Hola Ernesto! pero me sigue saliendo lo mismo, es decir, el 40.00 y quiero que ese 00 sea el 20.
    el cotejamiento que utilizo es el utf8_bin nose si eso tendra algo que ver o no...
      Votos: 0 - Link respuesta
     
  • Fecha: 16-02-2018 02:51:24 Imanol, mira las cosas con más detenimiento. Sí cuando grabas el dato 40:32 queda almacenado en la base de datos como 40.00 significa que estás grabando mal el valor.
    Si cuando extraes el valor tienes que hacer str_replace('.', ':', $valor);
    entonces al grabar tienes que hacer el proceso inverso con str_replace(':', '.', $valor);

    La diferencia es que FLOAT guardará de un número así 125.20 a 125.2
    en cambio DECIMAL 10,2 conservará 125.20 en 125.20
      Votos: 0 - Link respuesta
     
  • Fecha: 16-02-2018 11:35:10 Hola Imanol, si usas un string guárdalo como un string, o sea define el campo como varchar.

    Los goles serían integer, pero tu estás haciendo otra cosa, que es guardar goles a favor y goles en contra en el mismo campo (deberían ir separados), y para el separador es mejor una coma: 40,20

    Saludos.
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com