如何在hive中实现regexp\u substr?

wa7juj8i  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(734)

所以我有一个oracle查询:

SELECT REGEXP_SUBSTR('BOND~CRR~CD~DAKAR_2299913320','[^~]+',1,3) FROM DUAL

从该查询得到的结果应该是:cd
现在,我的问题是如何在hive中实现该查询,因为据我所知,hive没有regexp\u substr语法,到目前为止,我已经尝试的是:

select regexp_extract('BOND~CRR~CD~DAKAR_2299913320','[^~]+',0)

但结果是:邦德
当我将查询更改为:

select regexp_extract('BOND~CRR~CD~DAKAR_2299913320','[^~]+',2)

它被赋予一个语义执行:错误的参数“2”
那么,有没有办法在配置单元中实现oracle查询呢?

cig3rfwq

cig3rfwq1#

可以使用split函数代替regexp

select split('BOND~CRR~CD~DAKAR_2299913320','[\~]')[2]

有关更多详细信息,请参阅下面的链接
https://dwgeek.com/hive-string-functions-examples.html/

相关问题