• Publicidad

Tipo de Dato money

Todo acerca de las bases de datos que existen: SQL, MySQL, Oracle, Postgres, CSV, etc.

Tipo de Dato money

Notapor seafree » 2014-08-20 10:06 @462

Buenos días, estoy intentado usar el tipo de dato MONEY pero al ejecutar la instrucción de inserción me manda el siguiente mensaje:

"DBD::Pg::st execute failed: ERROR: column "costo" is of type money but expression is of type integer
HINT: You will need to rewrite or cast the expression.

"

¿Me puede apoyar, por favor, aclarando su uso? Por que encontré que lo más recomendable es usar el tipo "numeric" para realizar cálculos monetarios, entonces, ¿el "numeric" cuándo y cómo se utiliza?

Agradezco enormemente su atención.
seafree
Perlero nuevo
Perlero nuevo
 
Mensajes: 296
Registrado: 2012-08-10 11:26 @518

Publicidad

Re: Tipo de Dato money

Notapor explorer » 2014-08-20 10:37 @484

En la página de manual de PostgreSQL, de los datos de tipo monetario, se explica:
Valores de tipo numérico, entero, y entero grande pueden ajustarse a money (dinero). La conversión desde tipos de datos reales y de doble precisión se puede realizar ajustándolos primero a numéricos. Por ejemplo:

SELECT '12.34'::float8::numeric::money;

Sin embargo, esto no es lo recomendado. Los números en punto flotante no deberían usarse para manejar dinero debido a los potenciales errores de redondeo.

El error te dice que tienes que usar un ajuste (cast) para pasar de entero a dinero, así que tienes que hacer algo parecido al ejemplo (pero sin la parte de float).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Bases de datos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado