Impala-如何获取字符串中字符的倒数第三次出现

时间:2018-11-12 10:49:19

标签: impala substr

我有以下字符串:

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 :(得分:1)

如果要除以-并获得第三个元素,则可以按照以下步骤操作

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