HIVE:如果存在则替换行中的字符串/模式,否则啥也不做
Posted
技术标签:
【中文标题】HIVE:如果存在则替换行中的字符串/模式,否则啥也不做【英文标题】:HIVE : Replace string/ pattern in row if it exists else do nothingHIVE:如果存在则替换行中的字符串/模式,否则什么也不做 【发布时间】:2016-02-18 23:24:38 【问题描述】:我有一张表 A,里面有 id、name、age。
> id name age
> 20 Joan 12
> 3 James 12
> 12 Jill 12
> 54 Adam 12
> 10 Bill 12
我需要删除围绕“id”字段的 。 我试过这个:
翻译(regexp_extract(id, '([^])([^])', 2), '', '')
有效,但对于没有 的值返回 null。
id
3
12
有没有办法我可以得到输出???
id
20
3
12
54
10
【问题讨论】:
【参考方案1】:您可以使用 regexp_replace udf 来删除“”,例如:
select regexp_replace(id, '\\|\\','');
【讨论】:
酷..这工作..谢谢!【参考方案2】:请尝试以下选择语句:
select regexp_replace(col1,'[]','') as replaced,col2,col3 from table_name;
【讨论】:
以上是关于HIVE:如果存在则替换行中的字符串/模式,否则啥也不做的主要内容,如果未能解决你的问题,请参考以下文章