在 Hive 中将字符串转换为时间戳

Posted

技术标签:

【中文标题】在 Hive 中将字符串转换为时间戳【英文标题】:Convert string into timestamp in Hive 【发布时间】:2017-10-11 15:13:15 【问题描述】:

我有一个值“2017-09-27T19:25:15.927-07:00”,有什么方法可以将其转换为时间戳? 我使用 Hive 1.1.0。

select unix_timestamp("2017-09-27T19:25:15.927-07:00", "yyyy-MM-ddTHH:mm:ss.SSSX") 但它拖到了Bad date/time conversion format

select unix_timestamp("2017-09-27T19:25:15.927-07:00", "yyyy-MM-ddTHH:mm:ss.SSSZZZ") 但它返回NULL

【问题讨论】:

【参考方案1】:

format 是 yyyy-MM-dd'T'HH:mm:ss.SSSXXX"。注意 'T' 周围的单引号

select from_unixtime(unix_timestamp("2017-09-27T19:25:15.927-07:00", "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"))

【讨论】:

以上是关于在 Hive 中将字符串转换为时间戳的主要内容,如果未能解决你的问题,请参考以下文章

在Android中将字符串日期转换为时间戳?

在 Impala 中将连接的字符串转换为时间戳

Hive/SparkSQL:如何将 Unix 时间戳转换为时间戳(不是字符串)?

在scala中将时间字符串转换为时间戳/日期时间

如何在 Java 中将“HH:MM”格式字符串转换为时间戳?

在 Spark 中将字符串字段转换为时间戳的更好方法