hive将字符串转换为时间戳会丢弃毫秒信息

yshpjwxd  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(733)

我正在尝试将下面的字符串转换为时间戳。但是我不知道如何处理最后的问题 milisecond part 字符串:

2020-06-30T23:57:48.000-0400

下面是工作。不管怎样,它都会丢失毫秒的信息。

hive> select from_unixtime(unix_timestamp("2020-06-30T23:57:48.000-0400", "yyyy-MM-dd'T'HH:mm:ss.SSS'-'SSS"), "yyyy-MM-dd'T'HH:mm:ss.SSS'-'SSSS");
OK
2020-06-30T23:57:48.000-0000

期望值

2020-06-30T23:57:48.000-0400

更新
即使这样也不行
查询

hive> select date_format("2020-01-23 23:59:54.0000400", "yyyy-MM-dd HH:mm:ss.SSSSSSS");

输出

2020-01-23 23:59:54.0000000
ruyhziif

ruyhziif1#

试试这个-
选择concat(从unixtime(unix\u timestamp('2020-01-23 23:59:54.0000400','yyyy-mm-dd hh:mm:ss')),''','拆分('2020-01-23 23:59:54.0000400','[.]')[1]);
我希望这对你有帮助。

相关问题