From: | postgresql(dot)org(at)tgice(dot)com |
---|---|
To: | pgsql-odbc(at)postgresql(dot)org |
Subject: | float8 auto truncation issue in ODBC v. PGSQL |
Date: | 2006-06-13 19:28:34 |
Message-ID: | 448F11E2.1020504@tgice.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
Not sure if the ODBC list is the best place for this question, but I've
encountered some strange behavior and was wondering if anyone had an
idea as to what's going on.
I've got a float8 data type in a column. I have a value '1.0475'
inserted into it. That number cannot of course be perfectly represented
as a float8.
When I perform a test like this in MSSQL 7, e.g., and select it using
any variety of tools I get this out:
1.0475000000000001
When I use my own ODBC SQL client to select the same value from my
Postgres 8.0 database, I get the same thing:
1.0475000000000001
*However*, and here's the troubling part, when I select the exact same
value using psql (and I have reason to believe the same thing is going
on inside pl/pgsql functions), the value that comes out is:
1.0475
Now, some of you may say, "What's your problem? That's actually the
correct value!" That's true, it is. However, I'm confused as to the
differences between the result I get *from* PG via my ODBC client and
what Postgres shows with it's internal tools.
The reason this came up is, for some uninteresting reason, I really need
to see the former value (w/ the trailing 1) inside Postgres (a pl/pgsql
function) when making a computation.
I'd appreciate any insight, and apologize if I missed something obvious
in the docs or via my googling.
John
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-06-13 20:14:49 | Re: float8 auto truncation issue in ODBC v. PGSQL |
Previous Message | Hiroshi Inoue | 2006-06-13 14:12:58 | Re: Patch for snprintf problem (bug #1000650) 4-th try |