From: | "Francois Cote" <francoisco(at)aei(dot)ca> |
---|---|
To: | pgsql-novice(at)postgresql(dot)org |
Subject: | Re: Problem with data storage |
Date: | 2008-04-08 11:37:03 |
Message-ID: | op.t9aij1na7xd6k3@fsider2.gateway.2wire.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
Hi,
One more thing about the money type. At first, I thought that I had
overflowed the capacity. Sorry for my english here, what I mean is, like
a signed Byte, the value range from 127 to -128, so what happens when you
put a value of 136? That's right it become negative. But, reading the
PostgreSQL documentation, the value of a Money type can range from
-92233720368547758.08 to +92233720368547758.07. So my 22443018 is way in
the range to do that behavior, and since I tried adding value using also
an SQL query, I expected that the PostgreSQL engine could handle the value
correctly.
I already contacted MicroOLAP for my problems. But for the money type,
since it doesn't work with an Insert query, I don't expect they can do
anything.
Thanks for any help you can provide.
Francois
On Fri, 04 Apr 2008 15:41:35 -0400, "Francois Cote" <francoisco(at)aei(dot)ca>
wrote:
> Suppose the following table:
> CREATE TABLE "TestNumbers"
> (
> "TestInteger" integer,
> "TestReal" real,
> "TestMoney" money,
> "TestDouble" double precision,
> "TestNumeric" numeric(20,2)
> );
> Now, after adding a record with the value 22443018 for each fields I
> finally have the following values:
> TestInteger: 22443018
> TestReal: 22443000
> TestMoney: {get a read error at 0x00000000, probably microOLAP DAC
> related}
> TestDouble: {empty/no value displayed}
> TestNumeric {empty/no value displayed}
> Using pgAdmin III, I see the same values.
> Now Inserting data in the table using pgAdmin III:
> INSERT INTO "TestNumbers"(
> "TestInteger", "TestReal", "TestMoney", "TestDouble",
> "TestNumeric")
> VALUES ('22443018', '22443018', '22443018', '22443018', '22443018');
> The results are in pgAdmin are:
> TestInteger: 22443018
> TestReal: 2.2443e+007
> TestMoney: -$20,506,654.96
> TestDouble: 22443018
> TestNumeric: 22443018.00
> And looking at this record from C++ Builder, I have the following
> values:
> TestInteger: 22443018
> TestReal: 22443000
> TestMoney: -$20,506,654.96
> TestDouble: {empty/no value displayed}
> TestNumeric: {empty/no value displayed}
> I have made the same test with a simple Paradox table, and all values
> are displayed correctly.
> Does anybody knows why the rounding occurs, why the negative value and
> why the blank value?
> Thanks a lot
> Francois
>
From | Date | Subject | |
---|---|---|---|
Next Message | Mike Ellsworth | 2008-04-08 12:03:46 | Re: Problem with data storage |
Previous Message | Aarni Ruuhimäki | 2008-04-08 10:06:13 | Re: boolean as 0 and 1 |