如何在HiveSQL中将unix纪元时间转换为TIMESTAMP?
内置日期函数from_unixtime
正在将其转换为字符串而不是TIMESTAMP。 to_utc_timestamp
似乎只是将时区从时区转换为UTC。
是否有任何函数直接从unix时间戳转换为BIGINT到TIMESTAMP?
示例
SELECT to_timestamp(1427976376) FROM mytable; --> 2015-04-02 14:06:16
修改
我能找到的最佳选择,虽然不是很好,但
SELECT cast(from_unixtime(1427976376) as TIMESTAMP) FROM mytable;
答案 0 :(得分:0)
请尝试以下操作:
SELECT from_unixtime(unix_timestamp) as new_timestamp from mytable...
将unix时间戳转换为YYYY-MM-DD HH:MM:SS
格式,然后您可以使用以下函数来获取年,月和日:
SELECT year(new_timestamp) as year, month(new_timestamp) as month, day(new_timestamp) as day ...