Thread: rtrim

rtrim

From
ryanne cruz
Date:
hi list.

if there's anyone here who's familiar with teh rtrim function, please i need
help.

i have a table that has a column in it that has data in this format:

California, USA
Nevada, USA
.
.
.

when i use rtrim to erase the ", USA" part, it only sometimes work. a sample
result would be:

California
Nevad

my query statement is:
update table set name=rtrim(name,', USA');

why is it that it only works sometimes?

Re: rtrim

From
ryanne cruz
Date:
Thanks Jason.

but my data in that column varies. what i mean is that not all data ends in ",
USA". some ends in ", Italy" or ", England". if i understood your code right,
this only works when all my data ends with ", USA" or any country with 3
letters on it. anymore ideas?



Quoting Jason k Larson <jlarson@candlefire.org>:

> rtrim and ltrim are used to remove whitespaces.  I'm not certain why you
> are getting unpredictable behavior, but try this instead.
>
> $column = substr ($column, 0, strlen($column)-5); // 5 = ', USA'
>
> http://www.php.net/manual/en/function.substr.php
>
> HTH,
> Jason k Larson
>
>
> ryanne cruz wrote:
>
> >
> > hi list.
> >
> > if there's anyone here who's familiar with teh rtrim function, please
> > i need
> > help.
> >
> > i have a table that has a column in it that has data in this format:
> >
> > California, USA
> > Nevada, USA
> > .
> > .
> > .
> >
> > when i use rtrim to erase the ", USA" part, it only sometimes work. a
> > sample
> > result would be:
> >
> > California
> > Nevad
> >
> > my query statement is:
> > update table set name=rtrim(name,', USA');
> >
> > why is it that it only works sometimes?
>
>



Re: rtrim

From
Andrew McMillan
Date:
On Wed, 2003-01-22 at 19:25, ryanne cruz wrote:
>  hi list.
>
> if there's anyone here who's familiar with teh rtrim function, please i need
> help.

It depends on the datatypes in use.

If you use a type like "CHAR(32)" it will always be right-padded with
spaces.  Whereas if you use a type like "TEXT" or "VARCHAR(32)" it will
be stored as you enter it (it may still have some trailling spaces.

Now, when you use the rtrim() function, but insert the result into a
CHAR(N) column, all those spaces will just be stuck straight back on
again.  This is likely to be what is happening in your case.

Regards,
                    Andrew.
>
> i have a table that has a column in it that has data in this format:
>
> California, USA
> Nevada, USA
> .
> .
> .
>
> when i use rtrim to erase the ", USA" part, it only sometimes work. a sample
> result would be:
>
> California
> Nevad
>
> my query statement is:
> update table set name=rtrim(name,', USA');
>
> why is it that it only works sometimes?
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
--
---------------------------------------------------------------------
Andrew @ Catalyst .Net.NZ Ltd, PO Box 11-053, Manners St,  Wellington
WEB: http://catalyst.net.nz/         PHYS: Level 2, 150-154 Willis St
DDI: +64(4)916-7201     MOB: +64(21)635-694    OFFICE: +64(4)499-2267
           Survey for nothing with http://survey.net.nz/
---------------------------------------------------------------------


Re: rtrim

From
ryanne cruz
Date:
in both my of my tables, the original and the table where i will insert the
column without the ", USA", the type of the columns are character varying. is
that the same with varchar?

Quoting Andrew McMillan <andrew@catalyst.net.nz>:

> On Wed, 2003-01-22 at 19:25, ryanne cruz wrote:
> >  hi list.
> >
> > if there's anyone here who's familiar with teh rtrim function, please i
> need
> > help.
>
> It depends on the datatypes in use.
>
> If you use a type like "CHAR(32)" it will always be right-padded with
> spaces.  Whereas if you use a type like "TEXT" or "VARCHAR(32)" it will
> be stored as you enter it (it may still have some trailling spaces.
>
> Now, when you use the rtrim() function, but insert the result into a
> CHAR(N) column, all those spaces will just be stuck straight back on
> again.  This is likely to be what is happening in your case.
>
> Regards,
>                     Andrew.
> >
> > i have a table that has a column in it that has data in this format:
> >
> > California, USA
> > Nevada, USA
> > .
> > .
> > .
> >
> > when i use rtrim to erase the ", USA" part, it only sometimes work. a
> sample
> > result would be:
> >
> > California
> > Nevad
> >
> > my query statement is:
> > update table set name=rtrim(name,', USA');
> >
> > why is it that it only works sometimes?
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> > http://www.postgresql.org/users-lounge/docs/faq.html
> --
> ---------------------------------------------------------------------
> Andrew @ Catalyst .Net.NZ Ltd, PO Box 11-053, Manners St,  Wellington
> WEB: http://catalyst.net.nz/         PHYS: Level 2, 150-154 Willis St
> DDI: +64(4)916-7201     MOB: +64(21)635-694    OFFICE: +64(4)499-2267
>            Survey for nothing with http://survey.net.nz/
> ---------------------------------------------------------------------
>
>



Re: rtrim

From
Bruno Wolff III
Date:
On Wed, Jan 22, 2003 at 14:25:28 +0800,
  ryanne cruz <ryanne.cruz@up.edu.ph> wrote:
>
> hi list.
>
> if there's anyone here who's familiar with teh rtrim function, please i need
> help.
>
> i have a table that has a column in it that has data in this format:
>
> California, USA
> Nevada, USA

You may want to keep the country as a separate column.