| |||
Como insetar un numero como 9.999¿?¿ Pues eso que lo guarde con el punto y en caso de que el campo no haya sido insetado nada no ponga por defecto 0 y luego permita hacer comparaciones como <= >=. Haver quien ayuda por que hasta la coroniña de esta chorrada |
| ||||
Respuesta: Como insetar un numero como 9.999¿?¿ Los números se guardan como BINARIOS y no como cifras. El punto es un problema de representación y no de dato, por lo cual depende de la aplicación el mostrarlo de una u otra forma. Para el caso, los valores enteros pueden ser TINYINT, SMALLINT, INT, o BIGINT, y los decimales FLOAT, DOUBLE o DECIMAL. Infortunadamente, no está implementado en MySQL el CHECK sobre columnas, por lo que no se puede hacer que la tabla admita por defecto un valor de límites por encima o por debajo de un valor que es menor a los límites del tipo de dato. Eso lo tendrás que implementar en la aplicación y no en la base. Esencial: No uses VARCHAR o CHAR para guardar datos numéricos, eso lo único que hará es usar más espacio para guardar el valor (un numero de 32 cifras se guarda en 8 bytes, cuando es columna numérica), y te traerá en el futuro enormes problemas en las consultas y los ordenamientos..
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Como insetar un numero como 9.999¿?¿ Pues que raro, mi MySQL si me deja asignar valores por defecto a los tipos de columna que mencionas. Saludos!
__________________ El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes. Winston Churchill |
| ||||
Respuesta: Como insetar un numero como 9.999¿?¿ No digo que no los puedas poner. Pero si a un float le pones como valor por default '9.999', eso no significa nueve mil novecientos noventa y nueve. Significa nueve con novecientos noventa y nueve milésimos. Son dos cifras distintas. Todo depende de lo que le quieras poner. Ahora bien, de lo que dice GreyFox se infiere que quiere algún valor que actúe de límite superior, y eso no le servirá, porque el límite no está dado por del default de la columna, sino por el tipo de columna... A eso me refeiro.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Como insetar un numero como 9.999¿?¿ Cita: Ahora si te entendí :) gracias por la aclaración.
Iniciado por gnzsoloyo No digo que no los puedas poner. Pero si a un float le pones como valor por default '9.999', eso no significa nueve mil novecientos noventa y nueve. Significa nueve con novecientos noventa y nueve milésimos. Son dos cifras distintas. Todo depende de lo que le quieras poner. Ahora bien, de lo que dice GreyFox se infiere que quiere algún valor que actúe de límite superior, y eso no le servirá, porque el límite no está dado por del default de la columna, sino por el tipo de columna... A eso me refeiro. Saludos!
__________________ El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes. Winston Churchill |
| |||
Respuesta: Como insetar un numero como 9.999¿?¿ el dilema esta en guardar una cifra cualquiera que tenga punto indicando si son miles o millones etc..... con float la guarda tal cual y la muestra tal cual , el dilema es que en caso de que no insertes nada, te inserta por defecto un 0 y eso es la cuestion a resolver Gracias a todos por buestra colaboracion |
| ||||
Respuesta: Como insetar un numero como 9.999¿?¿ Cita: Bueno pues creo que en ese caso ya te respondí, asigna a la columna el valor por defecto que deseas, esto debes hacerlo en la definición de la tabla.
Iniciado por GreyFOX el dilema esta en guardar una cifra cualquiera que tenga punto indicando si son miles o millones etc..... con float la guarda tal cual y la muestra tal cual , el dilema es que en caso de que no insertes nada, te inserta por defecto un 0 y eso es la cuestion a resolver Gracias a todos por buestra colaboracion Saludos!
__________________ El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes. Winston Churchill |
| |||
Respuesta: Como insetar un numero como 9.999¿?¿ Muchisimas gracias:) por tu ayuda, podias hacer una explicacion un poco tecnia, soy algo novato y bueno un ejemplo vale mas que mil palabras Gracias por vuestra aportacion |
| ||||
Respuesta: Como insetar un numero como 9.999¿?¿ Cita: Que herramienta usas para crear las tablas de la base de datos, tienes posibilidad de borrar la tabla y volver a crearla?Saludos!
__________________ El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes. Winston Churchill |
| ||||
Respuesta: Como insetar un numero como 9.999¿?¿ Es simplemente que cuando defines el campo le indicas el valor por default:
Código MySQL:
Importante: Ver original 1) Si necesitas manejar números que deben tener precisión, como es el caso de valores monetarios, corresponde usar DECIMAL(longitud,decimales), ya que el FLOAT o DOUBLE es un valor de punto flotante por aproximación, de modo que los valores pueden almacenarse con un error por más o menos , mientras que el DECIMAL está definido para guardar decimales exactos (puede trabajar con redondeo). 2) Si no vas a usar los decimales, o vas a guardar siempre enteros, usa tipos de dato entero (TINYINT, SMALLINT, INT, o BIGINT). 3) Si los números a almacenar serán siempre positivos, usa UNSIGNED como modificador del tipo de dato (INT UNSIGNED, MEDIUMINT UNSIGNED, etc.), permite usar el doble del rango de representación. 4) Todo valor por default de una columna tiene preeminencia sobre el NULL, pero si vas a definir un DEFAULT, te conviene declarar NULL a la columna, porque recargas menos el motor del DBMS, ya que no necesita verificar si el campo está siendo o no ingresado.
__________________ ¿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: |