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

Inertar 3 333 en campo numerico?¿?¿?¿?

Estas en el tema de Inertar 3 333 en campo numerico?¿?¿?¿? en el foro de Mysql en Foros del Web. Como podemnos insertar este numero 3 333 con el espacio, haver si lo solucionamos...
  #1 (permalink)  
Antiguo 25/05/2010, 12:37
 
Fecha de Ingreso: febrero-2008
Mensajes: 49
Antigüedad: 16 años, 8 meses
Puntos: 0
Inertar 3 333 en campo numerico?¿?¿?¿?

Como podemnos insertar este numero 3 333 con el espacio, haver si lo solucionamos
  #2 (permalink)  
Antiguo 25/05/2010, 12:40
 
Fecha de Ingreso: mayo-2007
Mensajes: 46
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Inertar 3 333 en campo numerico?¿?¿?¿?

Que tipo es el campo? si es un INT no te va a dejar
probaste a poner '3 333'?
  #3 (permalink)  
Antiguo 25/05/2010, 12:51
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Inertar 3 333 en campo numerico?¿?¿?¿?

Código MySQL:
Ver original
  1. mysql> create table numero3(num integer);
  2. Query OK, 0 rows affected (0.01 sec)
  3.  
  4. mysql> insert into numero3 values(3 333);
  5. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '333)' at line 1
  6. mysql> insert into numero3 values(CAST(replace('3 333',' ','') as unsigned));
  7. Query OK, 1 row affected (0.01 sec)
  8.  
  9. mysql> select *from numero3;
  10. +------+
  11. | num  |
  12. +------+
  13. | 3333 |
  14. +------+
  15. 1 row in set (0.00 sec)
  16.  
  17. mysql>
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 25/05/2010, 13:40
 
Fecha de Ingreso: febrero-2008
Mensajes: 49
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Inertar 3 333 en campo numerico?¿?¿?¿?

El dilema es poder guardar el dato en un campo numerico para que deje hacer lo de "<="">=" pero que mantenga el espacio o en su defecto un punto o una coma
  #5 (permalink)  
Antiguo 25/05/2010, 13:47
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Inertar 3 333 en campo numerico?¿?¿?¿?

Un campo numérico no acepta espacios ni comas. Un punto indica separador decimal
Realmente que representa para ti el 3 333?

Para que es necesario el espacio u otro caracter? solo efectos de visualización?
Si es así existen funciones para darle formato al numero desde un lenguaje de programación o desde el mismo motor de base de datos
Código MySQL:
Ver original
  1. mysql> select format(num,0) from numero3;
  2. +---------------+
  3. | format(num,0) |
  4. +---------------+
  5. | 3,333         |
  6. +---------------+
  7. 1 row in set (0.00 sec)
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 25/05/2010, 15:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Inertar 3 333 en campo numerico?¿?¿?¿?

Como dice Huesos52, un campo numérico no acepta espacios ni separadores de miles.
¿Por qué necesitas guardar eso?

Si mal no recuerdo tú mismo planteaste una problemática relacionada con estas cosas en otro post, en el cual estuvimos tratando el tema en extenso, y la base es la misma: Los números no se guardan como cifras, sino como binarios, por lo que es imposible guardar símbolos o espacios en esos campos. Esos elementos son problemas de representación 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)

Etiquetas: numerico, campos
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 12:01.