Impala 字符串函数,用于在给定分隔符之后提取文本



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

'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

最新更新