impala 在给定分隔符后提取文本的字符串函数

impala string function to extract text after a given separator

假设我有一个可变长度的字符串,例如:

'633000000HIQWA4:005160000UT334'
'00YYSKSG004:00YJDJJDA3443'
'300SGDK112WA4:00KFJJD900'

: 之后使用哪个 impala 字符串函数提取文本 例如:

'005160000UT334'
'00YJDJJDA3443'
'00KFJJD900'

使用split_part(string source, string delimiter, bigint n)函数。 n 的值将是字段从 1 开始编号。

select split_part('633000000HIQWA4:005160000UT334',':',2);

+----------------------------------------------------+
| split_part('633000000HIQWA4:005160000UT334',':',2) |
+----------------------------------------------------+
| 005160000UT334                                     |
+----------------------------------------------------+

试一试它有效

select
 CONCAT( split_part(cast((1347/100+11)%12+1 as varchar(2)),'.',1), ':',substring(cast((1347%100+100) as char(3)),2,2),
 ' ',CASE (1347 / 1200) WHEN 0 THEN 'am' ELSE 'pm' END)**

输出:下午 1:47