HIVE :如果存在,则替换行中的字符串/模式,否则什么都不做



我有一个表A,上面有id,名字,年龄。

> id       name    age
> {20}    Joan     12 
> 3       James    12 
> 12       Jill   12
> {54}     Adam    12 
> {10}     Bill    12

我需要删除围绕"id"字段的 {}。我试过这个:

translate(regexp_extract(id, '([^{])([^}])', 2), '{', '')

有效,但为没有 {} 的值返回 null。

id
3
12

有没有办法将输出作为???

id
20
3
12
54
10
您可以使用

regexp_replace udf来删除"{}",例如:

select regexp_replace(id, '\{|\}','');

请尝试以下选择语句:

select regexp_replace(col1,'[{}]','') as replaced,col2,col3 from table_name;

相关内容

  • 没有找到相关文章

最新更新