| 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: | Whole Thread | Raw Message | 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. |