From: | Greg Stark <gsstark(at)mit(dot)edu> |
---|---|
To: | Craig Ringer <craig(at)postnewspapers(dot)com(dot)au> |
Cc: | Jakub Bednář <jakub(dot)bednar(at)b2bcentrum(dot)cz>, pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Mapping Java BigDecimal |
Date: | 2010-01-18 10:09:28 |
Message-ID: | 407d949e1001180209v39e46a88v6d5a0e5a181a5d84@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On Mon, Jan 18, 2010 at 8:30 AM, Craig Ringer
<craig(at)postnewspapers(dot)com(dot)au> wrote:
> I don't know whether Oracle or Pg are more "correct" here - you're
> giving Pg "3" so arguably it shouldn't assume "3.00" and should in fact
> return "3". OTOH, you've told it what the scale and precision are for
> the column, and inputs to the column should be presumed to fit that
> scale and precision.
>
It doesn't really work that way. Whether you store "3" or "3.00" or
"3.0000" you're storing the same value in the numeric field.
The precision and scale you specify for Postgres is just the maximum
as well. But it's also used for the default formatting when converting
to text. If you retrieved the numeric in binary format it would be the
same regardless of the parameters.
In no case does postgres remember the precision of the input text. If
you don't specify a precision on the column it just prints as many as
necessar. That sounds like what you're looking for.
--
greg
From | Date | Subject | |
---|---|---|---|
Next Message | dmp | 2010-01-18 18:02:08 | [Fwd: Re: Mapping Java BigDecimal] |
Previous Message | Vaibhav Patil | 2010-01-18 10:07:52 | Re: COPY using Hibernate |