首页 > 解决方案 > 如何拆分配置单元中具有 $$ 的列值

问题描述

这可能是一个愚蠢的问题,但我是新来的蜂巢和尝试一些事情。

问题是,我在表中有一个列,其中包含$$的值,例如 ABC12$$FRG3 ,我将其导出到不同的配置单元表,所以在给定的情况下,我只需要值的第一部分,例如ABC12,我尝试以下方法

Select regexp_extract(id,'^(\\w.*)\\$${2}(\\w.*)$',1) as app from tempTable;

我也在蜂巢中尝试了拆分功能

select split(collection_id,'\\$$') as app from tempTable;

两者都不起作用,它给出了完整的字符串(原始)而没有拆分我错过了什么吗?

标签: sqlhivehiveql

解决方案


我想这是因为你$在你的正则表达式中加倍了符号。你应该试试

Select regexp_extract(id,'^(\\w.*)\\${2}(\\w.*)$',1) as app from tempTable;

推荐阅读