PDA

Ver la Versión Completa : [Sintaxis] Tipo de dato decimal en mysql...


Fito
2 de mayo de 2018, 16:46
Hola Amigos:

Tengo que acceder a datos de una base en mysql, lo estoy haciendo con el control dbaccess de power 8, hasta ahi todo perfecto, el tema es que los importes están en tipo decimal, por ejemplo decimal(10,2), según el control dbaccess la "traduccion" power seria pic s9(8)v99. Lo hago así, no me da error de datos, pero no me trae nada. Con los otros tipos de datos no tengo ningún inconveniente.

Alguna idea que me pueda ayudar?

Gracias. Saludos.

Fito...

Kuk
2 de mayo de 2018, 20:36
Fito, prueba con:


01 variante-1 s9(8)v99 COMP-3.
01 variante-2 s9(8)v99 COMP-4.
01 variante-5 s9(8)v99 COMP-5.

Fito
2 de mayo de 2018, 22:16
Gracias KUK por responder:

Con ninguna de las tres opciones funciona. Estuve haciendo pruebas y se me ocurrió hacer directamente display de la propiedad del dbaccess y viene en cero.

El contro dbaccess se llama BD y la propiedad plista.


display "plista" of BD


Es como que no lo toma. Muy raro.

Saludos.

Fito...

Kuk
2 de mayo de 2018, 22:51
Fito, prueba con:


01 variante-1 COMP-1.
01 variante-2 COMP-2.


Por otro lado, no sé si se puede hacer DISPLAY directamente. Lo mismo simplemente compila pero no accede al dato que interesa.

Dasije
3 de mayo de 2018, 03:16
Son limitaciones de compatibilidad en el control DB-ACCESS, utiliza el ADO.

Joseg
3 de mayo de 2018, 11:46
Eu só recomendo COMP-3 ou PACKED-DECIMAL, é o formato "tecnicamente" igual ao Mysql.

Kuk
3 de mayo de 2018, 12:27
Joseg, COMP-3 es un formato no nativo que viene del Mainframe. En DB2 es tolerado para el tipo decimal, pero no creo que sea el caso de MySQL.

Sospecho que tratándose de un tipo nativo, deberá ser el float, el cual es representado por COMP-1 y COMP-2, para precision simple o doble, respectivamente.

Joseg
3 de mayo de 2018, 15:09
Esta tabela é para PostgreSQL, mas também se aplica a MySql:
D.4.4 Type Mapping (http://software.fujitsu.com/jp/manual/manualfiles/m150000/j2ul1738/08enz200/j1738-d-04-04.html)

Eu tive problemas em cálculos antes de usar COMP-3, posteriormente um programador de C me explicou como o MySql trata as colunas "Decimal" e passei a usar sempre "PACKED-DECIMAL", até agora tudo ok!

Fito
4 de mayo de 2018, 14:54
Hola Amigos:

Me parece que, como dice Dasije, es compatibilidad con el compronente. Como lo que tengo que hacer es pasar los datos a mi sistema, no es que tenga que interactuar con la BBDD, antes que ponerme a renegar con ADO (sé de qué se trata, pero nunca lo he usado), exporté a excel la tabla y la tomo desde ahí. De esa manera lo pude hacer.

Muchas gracias por toda la ayuda.

Saludos.

Fito...