我在hive中的表格中有一份日期格式为’2016/06/01′.但我发现它的格式不是’2016-06-01′.
例如,它们无法比较.
它们都是字符串.
所以我想知道如何让它们变得有害并可以比较它们.或者另一方面,如何将’2016/06/01’更改为’2016-06-01’以便他们可以比较.
例如,它们无法比较.
它们都是字符串.
所以我想知道如何让它们变得有害并可以比较它们.或者另一方面,如何将’2016/06/01’更改为’2016-06-01’以便他们可以比较.
非常感谢.
解决方法
要将日期字符串从一种格式转换为另一种格式,您必须使用hive的两个日期函数
> unix_timestamp(字符串日期,字符串模式)转换时间字符串
给定模式到unix时间戳(以秒为单位),如果是,则返回0
失败.
> from_unixtime(bigint unixtime [,string format])转换
从unix epoch(1970-01-01 00:00:00 UTC)到a的秒数
表示当前时刻的时间戳的字符串
系统时区.
使用上述两个功能,您可以获得所需的结果.
样本输入和输出可以从下面的图像中看到:
最后的查询是
select from_unixtime(unix_timestamp('2016/06/01','yyyy/MM/dd'),'yyyy-MM-dd') from table1;
其中table1是我的hive数据库中的表名.
我希望这能帮到你!!!