在Unix Hive SQL中将unix时间转换为TIMESTAMP

时间:2015-04-13 12:58:59

标签: sql hive

如何在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;

1 个答案:

答案 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 ...