【问题标题】:Is the ISO 8601 datetime representation precision 1 microsecond in PostgreSQL?PostgreSQL 中的 ISO 8601 日期时间表示精度是 1 微秒吗?
【发布时间】:2018-12-24 05:33:14
【问题描述】:

我正在查看 PostgreSQL 的文档,在日期时间部分,时间和日期时间的精度为 1 微秒。我想在 ISO 8601 精度中使用这个精度。在文档中,我也找到了一个例子,见文档中的Table 8.11. Time Input

https://www.postgresql.org/docs/current/datatype-datetime.html#DATATYPE-DATETIME-TIME-TABLE

给出的例子是04:05:06.789。现在我的问题是,是 0.789 微秒吗?由于它只有 3 位数字,因此看起来是以毫秒为单位的。如果是这样,您如何以 HH:MM:SS.FFFFFF 格式以微秒为单位表示它,其中 FFFFFF 是微秒?

【问题讨论】:

    标签: postgresql datetime


    【解决方案1】:

    如果您使用三位数字,则将其解释为毫秒。如果您使用 6 位数字,则将其解释为微秒。

    您可以对毫秒使用MS 模式,对微秒使用US 模式(请参阅Table 9.24. Template Patterns for Date/Time Formatting)进行检查。

    SELECT to_char('04:05:06.789-8'::time, 'HH12:MI:SS.US'),
           to_char('04:05:06.789000-8'::time, 'HH12:MI:SS.US'),
           to_char('04:05:06.789123-8'::time, 'HH12:MI:SS.US');
    

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 2010-10-23
      • 2013-05-22
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多