Problemas con campo decimal en mysql me sale 999999.99

38 views
Skip to first unread message

Jaicosta

unread,
Jan 12, 2017, 10:07:40 AM1/12/17
to Programando Ando
Les comento, tengo una aplicación desarrollada en Php y Mysql, tengo la tabla de compras que al agregar el producto el cual tiene en la base de datos un tipo de datos  DECIMAL 8,2 no me deja registrar valores asi: 1250000,00, porque me guarda el valor solo hasta 999999.99, intenté cambian a  DECIMAL 18,2 Pero el problema persiste, no he podido continuar porque no he podido solucionar este problema.

Agradezco a quien pueda ayudarme a solucionar este problema.

Keyphercom Tecnologias Web

unread,
Jan 12, 2017, 11:01:13 AM1/12/17
to programa...@googlegroups.com
Hola,

haz revisado el manual de MYSQL, debes saber que cada tipo de dato numerico, tiene su escala inferior y superior. Para cuestiones de precios o valores de articulos, recomiendo el uso de Double, no Decimal...Ahora debes tener claro el crecimiento maximo del valor que puede ser almacenado, ten un buen control de ello, porque podria ser que requieras MYSQL PAGO u otra base de datos que te permita mayor rendimiento.


https://dev.mysql.com/doc/refman/5.5/en/numeric-types.html


Saludos.
Jason Varilla.


El 12 de enero de 2017, 10:07, Jaicosta <jaic...@gmail.com> escribió:
Les comento, tengo una aplicación desarrollada en Php y Mysql, tengo la tabla de compras que al agregar el producto el cual tiene en la base de datos un tipo de datos  DECIMAL 8,2 no me deja registrar valores asi: 1250000,00, porque me guarda el valor solo hasta 999999.99, intenté cambian a  DECIMAL 18,2 Pero el problema persiste, no he podido continuar porque no he podido solucionar este problema.

Agradezco a quien pueda ayudarme a solucionar este problema.

--
--
Publicar: programando-ando@googlegroups.com
Anular suscripción: programando-ando+unsubscribe@googlegroups.com
Webs: http://www.blonder413.com/ - http://www.cesarcancino.com/ - http://www.oscar-gomez.net/ - http://www.keyphercom.com/blog/

---
Has recibido este mensaje porque estás suscrito al grupo "Programando Ando" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a programando-ando+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Ing. JAiro Acosta

unread,
Jan 12, 2017, 11:07:26 AM1/12/17
to programa...@googlegroups.com
Hola, acabo de cambiarlos a Double y sigue igual el problema, hay que agregarle alguna longitud o se deja en blanco?
--
--
Ing. JAiro Acosta
SISGUS - Sistemas de Gestión de Usuarios
Desarrollo de Software a su medida
Cel. 3116558484

Jonathan Morales Salazar

unread,
Jan 12, 2017, 3:18:15 PM1/12/17
to programa...@googlegroups.com
No necesita una longitud para double, aquí está el manual con los rangos, puede usar UNSIGNED si el campo no permite números negativos

http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html


Jonathan Morales Salazar
Ingeniero de Sistemas
www.blonder413.com

Keyphercom Tecnologias Web

unread,
Jan 12, 2017, 5:38:04 PM1/12/17
to programa...@googlegroups.com
Para generar un formato moneda con precision de 2 digitos a la derecha, al estilo bancario 25.000,00 tambien puedes hacer lo siguientes, almacena tu numero en formato normal, con DOUBLE, UNSIGNED obvio, ZEROFILL, y cuando hagas la consulta, USA la funcion FORMAT()

SELECT FORMAT(Precio, 2) AS Precio FROM Articulos
Que nos devolverá valores del tipo 1,000.00 o 99.99


............ Es otra opcion, explora varias opciones, y ya como ultima alternativa USA una funcion PHP, JAVA, Python o cualsea tu lenguaje. Pero siempre que esa sea la ultima opción.

Saludos






El 12 de enero de 2017, 11:07, Ing. JAiro Acosta <jaic...@gmail.com> escribió:
Reply all
Reply to author
Forward
0 new messages