extact соответствует trimming_text в функции rtrim в postgres / snowflake

Если я выполню следующий запрос в Postgres или Snowflake, он удалит test от конца входной строки, даже если текст обрезки best:

SELECT rtrim('rtrimtest', 'best');

см.:https://www.db-fiddle.com/f/kKYwe5tNLpVoacM2q1nJY7/0

Однако мне нужно удалить обрезку только в том случае, если текст обрезки полностью совпадает. Как мне это сделать?

1 ответ

Решение

Порядок символов не имеет значения для rtrim().
rtrim('rtrimtest', 'best') такой же как rtrim('rtrimtest', 'stbe')

В Postgres вы можете использовать regex_replace() для того, что хотите делать:

regexp_replace('rtrimtest', 'best$', '');

Пример онлайн