Thread: rtrim
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?
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? > >
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/ ---------------------------------------------------------------------
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/ > --------------------------------------------------------------------- > >
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.