【问题标题】:Convert dd/mmm/yyyy to yyyy-mm-dd将 dd/mmm/yyyy 转换为 yyyy-mm-dd
【发布时间】:2020-06-12 11:42:47
【问题描述】:

我有这样格式的日期:

08/Jul/2012:06:19:00 -0200

我正在尝试像这样选择:

from_unixtime(unix_timestamp(substr(hiredate,0,10),'dd/MMM/yyyy HH:mm:ss'),'yyyy-MM-dd')

但它不起作用。我想把它转换成2012-07-08。我正在使用quickstart cloudera 5.12

【问题讨论】:

  • 感谢 emix 编辑

标签: hive unix-timestamp


【解决方案1】:

看看这个两步过程是否适合你:

  1. 将字符串从这种不寻常的格式转换为unixtimestamp
  2. unixtimestamp(步骤 1 的结果)格式化为所需的格式
0: jdbc:hive2://beeline> select from_unixtime(unix_timestamp('08/Jul/2012:06:19:00 -0200','dd/MMM/yyyy:HH:mm:ss Z'),'yyyy-MM-dd') d;

+-------------+--+
|      d      |
+-------------+--+
| 2012-07-08  |
+-------------+--+
1 row selected (0.825 seconds)

【讨论】:

猜你喜欢
  • 2012-09-12
  • 2023-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
相关资源
最近更新 更多