我正在尝试将以下字符串转换为时间戳。但是无法弄清楚如何处理最后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
答案 0 :(得分:0)
尝试一下-
选择 concat(from_unixtime(unix_timesstamp('2020-01-23 23:59:54.0000400','yyyy-MM-dd HH:mm:ss')),'。',split('2020-01-23 23:59: 54.0000400','[。]')[1]);
我希望这会有所帮助。