Re: Mapping Java BigDecimal

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

In response to

Responses

Browse pgsql-jdbc by date

  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