Removing terminal period from varchar string in table column

Started by Rich Shepard9 months ago7 messagesgeneral
Jump to latest
#1Rich Shepard
rshepard@appl-ecosys.com

I want to remove the terminal period '.' from the varchar strings in the
'company_name' column in all rows with that period in the companies table.

I've looked at trim(), translate(), "substr(company_name 1,
length(compan_name) - 1)", and a couple of other functions and am unsure how
best to do this without corrupting the database table.

Advice needed.

TIA,

Rich

#2Jeff Ross
jross@openvistas.net
In reply to: Rich Shepard (#1)
Re: Removing terminal period from varchar string in table column

On 7/15/25 11:30, Rich Shepard wrote:

I want to remove the terminal period '.' from the varchar strings in the
'company_name' column in all rows with that period in the companies
table.

I've looked at trim(), translate(), "substr(company_name 1,
length(compan_name) - 1)", and a couple of other functions and am
unsure how
best to do this without corrupting the database table.

Advice needed.

TIA,

Rich

How about

test:

    select company_name, replace(company_name,'.','') from companies;

update:

    update companies set company_name = replace(company_name,'.','')
where company_name like '%.';

?

Jeff

#3Thom Brown
thom@linux.com
In reply to: Rich Shepard (#1)
Re: Removing terminal period from varchar string in table column

On Tue, 15 Jul 2025, 18:30 Rich Shepard, <rshepard@appl-ecosys.com> wrote:

I want to remove the terminal period '.' from the varchar strings in the
'company_name' column in all rows with that period in the companies table.

I've looked at trim(), translate(), "substr(company_name 1,
length(compan_name) - 1)", and a couple of other functions and am unsure
how
best to do this without corrupting the database table.

There are various options, but perhaps just use rtrim.

rtrim(company_name, '.')

https://www.postgresql.org/docs/current/functions-string.html

Thom

#4Rich Shepard
rshepard@appl-ecosys.com
In reply to: Thom Brown (#3)
Re: Removing terminal period from varchar string in table column

On Tue, 15 Jul 2025, Thom Brown wrote:

There are various options, but perhaps just use rtrim.
rtrim(company_name, '.')

Thom,

I looked at rtrim() but didn't see where to specify the table name. Would it
be `select * from table companies rtrim(company_name, '.')'?

Thanks,

Rich

#5Rich Shepard
rshepard@appl-ecosys.com
In reply to: Jeff Ross (#2)
Re: Removing terminal period from varchar string in table column

On Tue, 15 Jul 2025, Jeff Ross wrote:

How about

test:
    select company_name, replace(company_name,'.','') from companies;

update:
    update companies set company_name = replace(company_name,'.','') where
company_name like '%.';

Jeff,

These contain the table and column names I didn't see in web page examples.
Using update looks better to me.

Many thanks,

Rich

#6Thom Brown
thom@linux.com
In reply to: Rich Shepard (#4)
Re: Removing terminal period from varchar string in table column

On Tue, 15 Jul 2025, 18:59 Rich Shepard, <rshepard@appl-ecosys.com> wrote:

On Tue, 15 Jul 2025, Thom Brown wrote:

There are various options, but perhaps just use rtrim.
rtrim(company_name, '.')

Thom,

I looked at rtrim() but didn't see where to specify the table name. Would
it
be `select * from table companies rtrim(company_name, '.')'?

UPDATE companies
SET company_name = rtrim(company_name, '.')
WHERE company_name != rtrim(company_name, '.');

Thom

Show quoted text
#7Rich Shepard
rshepard@appl-ecosys.com
In reply to: Thom Brown (#6)
Re: Removing terminal period from varchar string in table column

On Tue, 15 Jul 2025, Thom Brown wrote:

UPDATE companies
SET company_name = rtrim(company_name, '.')
WHERE company_name != rtrim(company_name, '.');

Thom,

That makes sense. The web pages I read assumed I knew to use the UPDATE
command. As this was the first time I needed to clean column content I
didn't assume that update was the appropriate mechanism. Now I do.

Thanks,

Rich