Impala:将 dd-MMM-yy 字符串转换为 yyyy-mm-dd

Posted

技术标签:

【中文标题】Impala:将 dd-MMM-yy 字符串转换为 yyyy-mm-dd【英文标题】:Impala: convert dd-MMM-yy string to yyyy-mm-dd 【发布时间】:2017-09-11 15:29:50 【问题描述】:

我收到一个日期为 dd-MMM-yy 格式的 csv,例如

17 年 8 月 29 日

我想将它们转换为 yyyy-MM-dd,例如

2017-08-29

可能只是我没有用谷歌搜索正确的函数,但我找不到任何东西来处理 MMM 编写月份的方式,除非我使用查找/案例语句并将字符串拆分并重新组合在一起。

如果有人能提出一种更好的方法,我相信一定有一个!!!

【问题讨论】:

【参考方案1】:

所以答案是:

from_unixtime(unix_timestamp('29-aug-17', 'dd-MMM-yy'), 'yyyy-MM-dd')

【讨论】:

感谢它对我的帮助很大。【参考方案2】:

在 impala 中运行这些查询以获得所需的结果:

select from_unixtime(unix_timestamp('29-aug-17','dd-MMM-yy'),'yyyy-MM-dd');

select to_date(from_unixtime(unix_timestamp('29-aug-17','dd-MMM-yy')));

【讨论】:

以上是关于Impala:将 dd-MMM-yy 字符串转换为 yyyy-mm-dd的主要内容,如果未能解决你的问题,请参考以下文章

在 Spark 中转换 dd-MMM-yy 日期格式

在大查询中将 dd-mmm-yy 转换为 yyyy-mm-dd

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

将其他类型转换为 Impala 数组

在 Impala 中将 YYYYMMDD 字符串转换为日期

Impala 将字符串转换为时间戳总是返回 NULL