我正在从一个csv文件中加载数据到一个hive表中。文件中有一个名为last_updated_date的字段,其值的格式为 "202700412013000771+0000".我需要将其覆盖为 "YYYY-MM-DD HH:MIN:SEC"。
你可以用大量的子串把它砍掉,然后用连字符重建,或者把末尾不相关的字符去掉,然后用 unix_timestamp
和 from_unixtime
.
由于你不在乎毫秒,你只需要前14个字符。我是这样做的。
select from_unixtime (unix_timestamp(substring('20200412013000771+0000',1,14), 'yyyyMMddhhmmss'))
返回
2020-04-12 01:30:00