From: | Sven Willenberger <sven(at)dmv(dot)com> |
---|---|
To: | "Giovanni M(dot)" <drayah(at)gmail(dot)com> |
Cc: | Tony Wasson <ajwasson(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: strip zeros from fractional part |
Date: | 2005-10-04 16:22:52 |
Message-ID: | 1128442973.11307.38.camel@lanshark.dmv.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mon, 2005-10-03 at 16:36 -0300, Giovanni M. wrote:
> Yes! That did it, thanks for the help
>
> On 10/3/05, Tony Wasson <ajwasson(at)gmail(dot)com> wrote:
> > On 10/3/05, Giovanni M. <drayah(at)gmail(dot)com> wrote:
> > > Round and trunc dont provide the functionality I need.
> > >
> > > Say for example I have two values in a column of type numeric as follows:
> > > 23.455
> > > 12.300
> > >
> > > What I need to happen is stripping the "useless" zeros in the
> > > fractional part of numbers so 12.300 would become 12.3 and 23.455
> > > would stay the same
> > >
> > > Round and trunc can´t do this without me first checking if the number
> > > can indeed be "rounded" to a number without losing its precise value
> >
> > As a workaround, you could try using the trim function. You'd need to
> > cats your numbers to text strings, but it looks like it will drop
> > useless 0's for you.
> >
> > test=# SELECT trim(trailing 0 FROM '12.300'::TEXT)::NUMERIC;
> > rtrim
> > -------
> > 12.3
> > (1 row)
> >
>
>
> --
I also found simply casting the column as a float achieves the same
thing:
test=> select 23.510::numeric;
numeric
---------
23.510
test=> select 23.510::numeric::float;
float8
--------
23.51
Sven
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Marlowe | 2005-10-04 16:26:03 | Re: export a select result in a file ? |
Previous Message | Tom Lane | 2005-10-04 15:25:17 | Re: Avoiding evaluating functions twice. |