首页 > 解决方案 > 如何将hadoop中字符串格式的日期时间转换为短日期?

问题描述

我正在使用以下查询从 Hadoop(hive) 中的字符串 (20191101154559) 中获取日期。

select max(cast(to_date(from_unixtime(unix_timestamp(substr(column3,1,8), 'yyyymmdd'))) as date)) as dt from databasea.table_name_b;

运行上述脚本后我得到的输出是 '31/01/2019',因为该表包含 2019 年 11 月的日期。不知道我在哪里出错了。

感谢是否有人可以调查此问题。

标签: hadoop

解决方案


from_unixtime 你可以使用它来获取 'yyyymmdd' 或 'yyyy-MM-dd' 任何你想要的数据格式。例如 - 选择 from_unixtime(unix_timestamp(substr('20191101154559',1,8), 'yyyymmdd'), 'yyyymmdd');

这将返回 20191101


推荐阅读