hive 配置单元:用分隔符分隔字符串

rqmkfv5c  于 2023-05-06  发布在  Hive
关注(0)|答案(2)|浏览(183)

我必须将带有“.”分隔符的STRING值分为两个值。就像这样:
输入:
| var0|
| --------------|
| 9342102124501.0000001236|
输出:
| var1|var2|
| --------------|--------------|
| 9342102124501|0000001236|
我知道这很简单,但我完全不懂正则表达式。

yhived7q

yhived7q1#

你可以使用string-function split,它接受一个正则表达式并返回一个数组:

select var0,
    split(var0, '[\.]')[0] as var1,
    split(var0, '[\.]')[1] as var2
from mytable
gwbalxhn

gwbalxhn2#

你可以使用substrinstr来实现:

select 
  substr(var0, 1, instr(var0,'.')-1) as va1, 
  substr(var0, instr(var0,'.')+1) as var2
from mytable ;

相关问题