Float8 Vs Numeric

From: Miguel Ortega <mortega(at)tc(dot)com(dot)ve>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Float8 Vs Numeric
Date: 2007-05-09 15:25:05
Message-ID: 4641E7D1.6060600@tc.com.ve
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola listeros....!!! Buen día!

Haciendo unas pruebas al editar un registro en un sistema que tenemos en
VB6 + PostgreSQL 8.1.4 salió un error extraño, algo así como que el
valor cambio desde la ultima vez que se leyó. Revisando el log, tome la
instrucción UPDATE que se generó y la corrí en el pgAdmin.

La instrucción era algo así:
UPDATE "Tabla" SET "campo1"='1'::float8, "campo2"='2'::float8 WHERE
"campo1"='2'::float8, "campo2"='3'::float8;

Tome esta instrucción y la corrí en el pgAdmin y me devolvió "0 rows
updated". Así que tome el WHERE de la instrucción anterior e hice un SELECT

SELECT * FROM "Tabla" WHERE "campo1"='2'::float8, "campo2"='3'::float8;

De hecho, cambie el SELECT para hacer otra prueba:

SELECT "campo1"='2'::float8 WHERE id=1; (Digamos que el id es un campo
serial)

y me devolvio "False"

Cambie el SELECT:

SELECT * FROM "Tabla" WHERE "campo1"::numeric='2'::numeric,
"campo2"::numeric='3'::numeric;

Y me devolvió el registro perfectamente

Por qué ocurre esto? Leí en algunos sitios que no era correcto usar
Float8 para montos pero nunca leí el por qué (esto lo leí mucho después
que diseñaron la base de datos)... Alguna idea?

Saludos....

--
_________________________________________
Miguel A. Ortega B.
Analista de Sistemas y Soporte a Usuarios
<0416 - 642 12 26> / < mortega(at)tc(dot)com(dot)ve>
Technologies Consulting C.A.

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-05-09 15:35:17 Re: Float8 Vs Numeric
Previous Message Herberth Lagos 2007-05-09 15:18:55 Re: Error type lo no existe