Re: Help : Removal of leading spaces in all the columns of a table

From: Charles Clavadetscher <clavadetscher(at)swisspug(dot)org>
To: srikkanth <srikkanth16081991(at)rediffmail(dot)com>
Cc: pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Help : Removal of leading spaces in all the columns of a table
Date: 2020-02-12 13:23:35
Message-ID: 47ec7540476a6b35a3fdb99230c6b2fc@swisspug.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello

On 2020-02-12 13:42, srikkanth wrote:
> Hi Team,
>
> How can i write the syntax to remove the leading spaces on a table for
> all the columns.
>
> Also, want to know how to do the all words of all the columns in
> capital along with removing of leading\excessive\trailing spaces at a
> time.
>
> Can you please help me out, let me know in case of any inputs.

You may combine existing functions:

CREATE TABLE test (txt TEXT);

INSERT INTO test VALUES ('abc'),(' abc '),(' a b c '),('a b
c');

SELECT * FROM test;
txt
----------------
abc
abc
a b c
a b c
(4 rows)

Now, assuming that "excessive" spaces means that there must be at most
one between words:

SELECT regexp_replace(upper(trim(txt)),'[ ]{2,}', '', 'g') FROM test;
regexp_replace
----------------
ABC
ABC
AB C
A B C
(4 rows)

first you remove all leading and trailing spaces (trim).
Then you transform all letters to upper case (upper).
Finally you remove all spaces but one between the words (regexp_replace
with '[ ]{2,}' meaning 2 or more spaces to be replaced with empty string
'' for all occurrences in the string. 'g' means global).

The order of the calls is not really relevant for the result.

Use UPDATE test SET txt instead of a select if you want to update your
table at once.
I usually prefer to see the result before I act on the data ;-)

Bye
Charles

> Thanks,
>
> Srikanth B

--
Charles Clavadetscher
Swiss PostgreSQL Users Group
Treasurer
Spitzackerstrasse 9
CH - 8057 Zürich

http://www.swisspug.org

+---------------------------+
| ____ ______ ___ |
| / )/ \/ \ |
| ( / __ _\ ) |
| \ (/ o) ( o) ) |
| \_ (_ ) \ ) _/ |
| \ /\_/ \)/ |
| \/ <//| |\\> |
| _| | |
| \|_/ |
| |
| Swiss PGDay 2020 |
| 18/19.06.2020 |
| HSR Rapperswil |
| |
+---------------------------+

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Charles Clavadetscher 2020-02-12 14:00:37 Re: Help : Removal of leading spaces in all the columns of a table
Previous Message srikkanth 2020-02-12 12:42:46 Help : Removal of leading spaces in all the columns of a table