Re: BUG #16507: RTRIM function doesnt behave as expected for certain scenario - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #16507: RTRIM function doesnt behave as expected for certain scenario
Date
Msg-id 2083976.1592849929@sss.pgh.pa.us
Whole thread Raw
In response to BUG #16507: RTRIM function doesnt behave as expected for certain scenario  (PG Bug reporting form <noreply@postgresql.org>)
List pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> I am trying to use RTIM function on a String (Column data) to remove some
> character/string from the right end.
> Example - 
> select column_name, RTRIM(column_name, '-1') from table_name;
> In case of the first string, RTRIM is removing "1-1" instead of "-1". 
> I expect it to remove "-1" as it did in other strings.

Your expectation is wrong, per the function's documentation:

    Removes the longest string containing only characters in
    'characters' (a space by default) from the end of 'string'.

The example is pretty explicit about this, too:

    rtrim('testxxzx', 'xyz') → test

You could do what you want with regexp_replace() or the pattern-matching
variant of substring().

            regards, tom lane



pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #16507: RTRIM function doesnt behave as expected for certain scenario
Next
From: Patrik Novotny
Date:
Subject: PostgreSQL always uses own versions of *printf(), but does not export them