将 dd/mmm/yyyy 转换为 yyyy-mm-dd
Convert dd/mmm/yyyy to yyyy-mm-dd
我有一个这种格式的日期:
08/Jul/2012:06:19:00 -0200
我正在尝试 select 像:
from_unixtime(unix_timestamp(substr(hiredate,0,10),'dd/MMM/yyyy HH:mm:ss'),'yyyy-MM-dd')
但它不起作用。我想把它转换成2012-07-08
。我正在使用 quickstart cloudera 5.12
.
看看这个两步过程是否适合你:
- 将字符串从这种不寻常的格式转换为
unixtimestamp
- 将
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)
我有一个这种格式的日期:
08/Jul/2012:06:19:00 -0200
我正在尝试 select 像:
from_unixtime(unix_timestamp(substr(hiredate,0,10),'dd/MMM/yyyy HH:mm:ss'),'yyyy-MM-dd')
但它不起作用。我想把它转换成2012-07-08
。我正在使用 quickstart cloudera 5.12
.
看看这个两步过程是否适合你:
- 将字符串从这种不寻常的格式转换为
unixtimestamp
- 将
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)