从Hive中的时间戳列中提取时间部分

时间:2016-01-06 07:25:52

标签: datetime hive

我只需从Hive中的时间戳列(YYYY-MM-DD hh:mm:ss)中提取时间部分。假设my_timestamp值为2016-01-04 00:12:06我需要从时间戳中获取时间,即00:12:06

我试过了

concat(hour(my_timestamp),':',minute(my_timestamp),':',second(my_timestamp))

concat(hour(cast(my_timestamp as string)),':',minute(cast(my_timestamp as string)),':',second(cast(my_timestamp as string)))

但是没有获得所需格式的输出。

还有其他方法只能获得时间吗?

2 个答案:

答案 0 :(得分:3)

以下是查询:

hive> select substr('2016-01-04 00:12:06', 12)
    > ;
OK
00:12:06

答案 1 :(得分:0)

from_unixtime(UNIX_TIMESTAMP(event_time),'HH:mm:ss')