Hive 将年/月/日转换为年/月/日
我有以下格式的日期:Hive 将年/月/日转换为年/月/日,hive,unix-timestamp,Hive,Unix Timestamp,我有以下格式的日期: 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查看此两步流程是否适用于您: 将字符串从这种不寻常的格式转换为unixtimestamp 将unixtimesta
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
查看此两步流程是否适用于您:
unixtimestamp
unixtimestamp
(步骤1的结果)格式化为所需格式查看此两步流程是否适用于您:
unixtimestamp
unixtimestamp
(步骤1的结果)格式化为所需格式谢谢你编辑它谢谢你编辑它谢谢你mazaneicha。成功了。请告诉我什么是Z和d。
Z
是区域偏移(),d
只是一个列别名(标题):。如果我想将此日期插入配置单元动态分区(按yyyy字符串、mm字符串、dd字符串分区),那么如何在insert语句中使用它。您可能会使用year
,月
和日
在其上起作用。如果你被卡住了,只需单独发布一个问题:)谢谢你,马扎尼卡。成功了。请告诉我什么是Z和d。Z
是区域偏移(),d
只是一个列别名(标题):。如果我想将此日期插入配置单元动态分区(按yyyy字符串、mm字符串、dd字符串分区),那么如何在insert语句中使用它。您可能会使用year
,月
和日
在其上起作用。如果你被卡住了,只需单独提出一个问题:)
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)