【问题标题】:Postgres timestamp with microsecondsPostgres 时间戳与微秒
【发布时间】:2020-07-16 15:18:36
【问题描述】:

我在表中有一个数据类型设置为timestamp without time zone 的列。

我需要微秒(6位)的时间部分,但有时如果最后一个数字为零,微秒部分会忽略它。

我可以使用以下查询来查询它以获得 6 位数字 select to_char(now(), 'yyyy-mm-dd hh:mi:us'); 2020-07-16 12:05:598000

上面的输出是文本/字符格式,但我需要它在 timestamp without time zone 数据类型中,所有 6 位数字持续微秒,即使最后一位或部分数字为零。列数据类型为timestamp without time zone

【问题讨论】:

  • to_char() 非常适合以某种格式显示值。如果您需要 timestamp 值,则显示无关紧要。

标签: postgresql postgresql-10 postgresql-11


【解决方案1】:

在您尝试显示该值之前,有效位数不会起作用。在本例中,46.392000 等价于 46.392,就像十进制数一样。

select '2020-07-16 11:35:46.392000-4'::timestamptz = '2020-07-16 11:35:46.392-4'::timestamptz;

 ?column? 
----------
 t

您需要在哪里看到所有六位数字都去掉了零?这就是您需要应用格式的地方。

【讨论】:

    猜你喜欢
    • 2014-04-07
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 2019-06-11
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多