我正在尝试为配置单元中的时间戳添加时区,并使用from\u unixtime(unix\u timestamp())将其转换回est
当我做下面的查询时,我得到了结果
hive> select from_unixtime(unix_timestamp('2017-01-01 00:25:00.0 Pacific Standard Time', 'yyyy-MM-dd HH:mm:ss.S z') ,'yyyy-MM-dd HH:mm:ss.S z');
OK
2017-01-01 03:25:00.0 EST
Time taken: 0.126 seconds, Fetched: 1 row(s)
但是当我尝试其他时区的时候,比如美国/太平洋,美国/东部。。我得到的结果是空的
hive> select from_unixtime(unix_timestamp('2017-01-01 00:25:00.0 US/Eastern', 'yyyy-MM-dd HH:mm:ss.S z') ,'yyyy-MM-dd HH:mm:ss.S z');
OK
NULL
Time taken: 0.119 seconds, Fetched: 1 row(s)
hive> select from_unixtime(unix_timestamp('2017-01-01 00:25:00.0 US/Pacific', 'yyyy-MM-dd HH:mm:ss.S z') ,'yyyy-MM-dd HH:mm:ss.S z');
OK
NULL
我不能使用短id,如mst,cst或pst。因为它们是从其他查询动态驱动的
我的目的是转换oracle查询
cast (FROM_TZ('2017-01-01 00:00:00.0','US/Pacific') at time stamp 'US/Eastern')
暂无答案!
目前还没有任何答案,快来回答吧!