【发布时间】:2023-04-04 21:50:01
【问题描述】:
我正在尝试打印 'YYYY-MM-d HH:mm:ss.S',它最后精确到 3 毫秒。
这是我通常得到的。
hive> select current_timestamp();
OK
2020-09-22 12:00:26.658
但在极端情况下我也会得到
hive> select current_timestamp();
OK
2020-09-22 12:00:25.5
Time taken: 0.065 seconds, Fetched: 1 row(s)
hive> select cast(current_timestamp() as timestamp);
OK
2020-09-22 12:00:00.09
Time taken: 0.084 seconds, Fetched: 1 row(s)
hive> select current_timestamp() as string;
OK
2020-09-22 11:07:12.27
Time taken: 0.076 seconds, Fetched: 1 row(s)
我期待的是不要忽略末尾的 0,例如:
hive> select current_timestamp();
OK
2020-09-22 12:00:25.500
Time taken: 0.065 seconds, Fetched: 1 row(s)
hive> select cast(current_timestamp() as timestamp);
OK
2020-09-22 12:00:00.090
Time taken: 0.084 seconds, Fetched: 1 row(s)
hive> select current_timestamp();
OK
2020-09-22 11:07:12.270
Time taken: 0.076 seconds, Fetched: 1 row(s)
我尝试了什么:
hive> select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:MM:ss.S');
unix_timestamp(void) is deprecated. Use current_timestamp instead.
OK
2020-09-22 11:09:30.0
Time taken: 0.064 seconds, Fetched: 1 row(s)
我还尝试将 current_timestamp() 转换为字符串,这样它就不会忽略 0,但这也不起作用
【问题讨论】:
标签: sql string datetime hive hiveql