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.
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 |