首页 > 解决方案 > 在 Apache Hive 中将日期格式转换为 YYYY-MM-DD HH:MIN:SEC

问题描述

我正在从 csv 文件将数据加载到配置单元表中。文件有一个名为 last_updated_date 的字段,其值的格式为“20200412013000771+0000”。我需要将其转换为“YYYY-MM-DD HH:MIN:SEC”。

标签: sqlhql

解决方案


您可以使用大量子字符串将其拆分并使用 concats 重新构建它,或者在末尾删除不相关的字符并使用unix_timestampand from_unixtime

由于您不关心毫秒,因此您只需要前 14 个字符。以下是我的做法:

select from_unixtime (unix_timestamp(substring('20200412013000771+0000',1,14), 'yyyyMMddhhmmss'))

哪个返回

2020-04-12 01:30:00

推荐阅读