Импала - Как получить третьего до последнего вхождения символа в строке - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть следующая строка:

SELECT '00000-AAA1-1111-BBBB1-010101-CCCC1' as Word
FROM Table_A

У меня есть приведенная выше строка. Я хочу извлечь строку только между последним и последним вхождением.

В основном я хочу извлечь следующую строку:

'BBBB1'

Я пытался с этим, но это дает мне неправильный результат:

 substr(Word, 1, length(a.cod_system_shipment_detail) - length(reverse(split_part(reverse(Word),'|',1))))

 "00000-AAA1-1111-BBBB1-010101-"

Как извлечь из этой строки только BBBB1?

Спасибо!

1 Ответ

0 голосов
/ 16 ноября 2018

Если вы хотите разделить на - и получить третий элемент, вы можете сделать это следующим образом

SELECT split_part('00000-AAA1-1111-BBBB1-010101-CCCC1', '-',4);
...