Hive中日期提取的正则表达式

zqdjd7g9  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(361)

团队,
这里需要帮助。
我有一个列,其值类似于“总计到2019年2月27日的百分比”,我只需要从中提取日期部分,只要列有上述值,我就在下面使用。
拆分时的大小写(col1,,,)[0]=“sum”,然后substr(col1,-10)否则null结束为col2
但是,问题是,我确实有以“sum total and not necessary”这样的值开头的列值,所以在上面的代码中,我得到的结果是“necessary”,我不需要,应该用null值替换。
我的新列应该只获取日期值,其余的应该为空。如何做到这一点。请帮忙。谢谢

f4t66c6m

f4t66c6m1#

使用regexp\u提取:
演示:

Select regexp_extract(str,'\\d{2}/\\d{2}/\\d{4}',0) as dt
from
(-- your data
select 'Sum total to percent on 02/27/2019' as str
)s

结果:

02/27/2019

请参见此处的测试:http://demo.gethue.com/hue/editor?editor=282635&type=hive
正则表达式'\d{2}/\d{2}/\d{4}'的意思是:两位数,斜杠两位数,斜杠四位数

相关问题