在PostgreSQL中,ISO 8601日期时间表示精度是否为1微秒?

时间:2018-12-23 21:14:49

标签: postgresql datetime

我正在查看PostgreSQL的文档,在datetime部分中,时间和datetime的精度为1微秒。我想在ISO 8601精度中使用此精度。在文档中,我还找到了一个示例,请参见文档中的strictNullChecks

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

给出的示例为Table 8.11. Time Input。现在我的问题是.789微秒?由于只有3位数字,因此看起来是毫秒。如果是这样,怎么用微秒表示,格式为HH:MM:SS.FFFFFF,其中FFFFFF是微秒?

1 个答案:

答案 0 :(得分: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');