如何使用 unix_timestamp 和 from_unixtime Hive 函数将数据类型更改为时间戳

Posted

技术标签:

【中文标题】如何使用 unix_timestamp 和 from_unixtime Hive 函数将数据类型更改为时间戳【英文标题】:How to change datatype to timestamp using unix_timestamp and from_unixtime Hive functions 【发布时间】:2020-09-13 12:13:32 【问题描述】:
from_unixtime(unix_timestamp(CAST(arrival_time as TIMESTAMP),"yyyy-MM-dd HH:mm:ss")) as arr_time,
CAST(arrival_time as TIMESTAMP) as arrival_time

输出:

arr time                         arrival_time
2020-06-15 05:20:24             2020-06-15T05:20:24.000+0000
2020-06-15 05:20:24             2020-06-15T05:20:24.000+0000
2020-06-15 05:20:24             2020-06-15T05:20:24.000+0000
2020-06-15 05:20:24             2020-06-15T05:20:24.000+0000

直接转换成时间戳给我2020-06-15T05:20:24.000+0000 但我正在寻找2020-06-15 05:20:24,我正在使用 unix_timestamp 和 from_unixtime Hive 函数,但问题是数据类型仅保留为字符串,我希望数据类型作为时间戳。

我们如何创建2020-06-15 05:20:24 作为时间戳?

【问题讨论】:

【参考方案1】:

使用to_timestamp

select to_timestamp(arrival_time) from table

【讨论】:

以上是关于如何使用 unix_timestamp 和 from_unixtime Hive 函数将数据类型更改为时间戳的主要内容,如果未能解决你的问题,请参考以下文章

mysql 时间戳函数FROM_UNIXTIME和UNIX_TIMESTAMP函数的使用说明

无法使用 unix_timestamp 函数添加更新事件

Hive 的 unix_timestamp 和 from_unixtime 函数

unix_timestamp (MySQL) 的数据类型是啥?

unix_timestamp 和强制转换为时间戳之间的区别

MySQL中from_unixtime和unix_timestamp处理数据库时间戳转换问题-案例