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

Posted

技术标签:

【中文标题】在 Impala 中将连接的字符串转换为时间戳【英文标题】:Convert the concatenated string to timestamp in Impala 【发布时间】:2022-01-02 18:15:17 【问题描述】:

我有一列是两列的连接,即日期和时间戳(都是 STRING 类型)。

现在我想将此新列转换为 IMPALA

中的时间戳
|    New_col    |
|---------------| 
|20190616 074113|
|20190627 072350|
-----------------

尝试了所有可能的语法,例如 to_timestamp、unix_timestamp,但结果都是 NULL。

请提出解决方案。 提前致谢

【问题讨论】:

【参考方案1】:

请使用这个

select to_timestamp('20190616 074113','yyyyMMdd HHmmss')

select from_unixtime(unix_timestamp('20190616 074113','yyyyMMdd HHmmss')) 

请注意这两个函数的日期时间格式应该是正确的。

【讨论】:

@koushil roy 谢谢你的帮助,当我给出一个值时,你给出的解决方案是有效的,但是当我使用列名时它给我NULL,即选择 from_unixtime(unix_timestamp( '开始日期','yyyyMMdd HHmmss')) 您将 start_date 作为字符串传递。使用select from_unixtime(unix_timestamp(Start_date,'yyyyMMdd HHmmss'))

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

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

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

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

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

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

Scala - 如何在 Spark SQL 查询中将日期字符串转换为时间戳?