Как получить подстроку на основе символа и начать читать строку справа - PullRequest
2 голосов
/ 17 июня 2019

У меня есть следующие значения в столбце:

DB3-0800-VRET,
DB3-0800-IC,
IB-TZ-850-IB,
O11FS-OB ...

Из каждого значения я хочу удалить последнюю часть после тире. Мне нужен следующий результат:

DB3-0800-VRET -> DB3-0800,
DB3-0800-IC   -> DB3-0800,
O11FS-OB      -> O11FS

Я пытался работать с функцией SPLIT_PART RedShift, но мне не повезло. Если кто-то знает регулярное выражение для выбора нужной мне части, я был бы благодарен.

1 Ответ

2 голосов
/ 17 июня 2019

В Postgres и Redshift вы можете использовать regexp_replace():

select regexp_replace(str, '-[^-]+$', '')
...