Impala - 如何获取字符串中倒数第三次出现的字符
Impala - How to get the third to last occurrence of a character within a string
我有以下字符串:
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?
谢谢!
如果想按-
分割得到第三个元素,可以按下面的方法
SELECT split_part('00000-AAA1-1111-BBBB1-010101-CCCC1', '-',4);
我有以下字符串:
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?
谢谢!
如果想按-
分割得到第三个元素,可以按下面的方法
SELECT split_part('00000-AAA1-1111-BBBB1-010101-CCCC1', '-',4);