0

我有一个日期时间列,格式如下:

2019-11-10-07.10.55.865000

我希望我的格式如下:

2019-11-10 07:10:55.865000

如何在 PostgreSQL 9.6.11 中执行此操作?

4

2 回答 2

3

我们可以尝试从文本到时间戳进行一次完整的往返,然后再次返回到文本:

SELECT
    TO_CHAR(TO_TIMESTAMP('2019-11-10-07.10.55.865000', 'YYYY-MM-DD-HH.MI.SS.US'),
        'YYYY-MM-DD HH:MI:SS.US') AS ts_out;

这输出:

2019-11-10 07:10:00.865000

演示

作为旁注,您应该首先认真考虑不要将时间戳存储为文本。理想情况下,如果您想以某种方式查看您的时间戳列,例如出于报告目的,您应该只需要TO_CHAR使用您要使用的格式掩码进行一次调用。

于 2019-12-02T07:23:10.217 回答
0

to_char(timestamp, text)功能,例如to_char(current_timestamp, 'HH12:MI:SS')

https://www.postgresql.org/docs/current/functions-formatting.html

于 2019-12-02T07:15:57.357 回答