Impala - 将 MON-YY 转换为 YYYYMM

Posted

技术标签:

【中文标题】Impala - 将 MON-YY 转换为 YYYYMM【英文标题】:Impala - Convert MON-YY to YYYYMM 【发布时间】:2019-01-12 15:48:11 【问题描述】:

我在暂存表中有一列 Month_year,其中包含以下数据。请提出查询以获得所需的输出。

输入:

+----------+
month_year
+----------+
Jan-19
Dec-18
+----------+

预期输出:

+----------+
month_year
+----------+
201901
201812
+----------+

提前致谢!

【问题讨论】:

【参考方案1】:
If column's month_year date format is MMM-yy then contact 01 as default date for avoid to null result, however it will not effect expected out because you are going to get output in format yyyyMM.  
Try this:  
select from_unixtime(unix_timestamp(concat('01-',month_year),'dd-MMM-yy'),'yyyyMM')

【讨论】:

Month_year 列是字符串类型。请建议将字符串转换为 yyyyMM(字符串类型)的解决方案 尝试查询,因为 from_unixtime 函数将返回字符串,因此不需要转换为字符串。

以上是关于Impala - 将 MON-YY 转换为 YYYYMM的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 unix shell 脚本将 impala 查询输出日志转换为变量?

将其他类型转换为 Impala 数组

将查询从 Sybase IQ 转换为 impala

Impala 正在将时间转换为 GMT 如何避免这种情况

使用 Java 将 Json 对象转换为 Parquet 格式而不转换为 AVRO(不使用 Spark、Hive、Pig、Impala)

将具有 AM/PM 的字符串列转换为 Impala 中的时间戳