【问题标题】:What datatype is a datediff in Postgres sqlPostgresql 中的 datediff 是什么数据类型
【发布时间】:2020-10-30 00:56:33
【问题描述】:

我有一个 postgres sql DB 我想在我正在做的表中插入日期差异变量

INSERT INTO new_table (timediff)
values ('0 days 00:00:00.000000000')

会报错

ERROR:  invalid input syntax for type abstime: "0 days 00:00:00.000000000"

这是什么数据类型以及如何在表中插入行

【问题讨论】:

  • 是区间数据类型。我认为这在文档中得到了很好的解释。

标签: sql postgresql sqldatatypes


【解决方案1】:

Postgres 完全支持interval 数据类型。这有效:

create table new_table (timediff interval);

insert into new_table (timediff)
    values ('0 days 00:00:00.000000000'::interval);

【讨论】:

    【解决方案2】:

    您正在使用数据类型abstime,这是一种已在 PostgreSQL v12 中删除的过时时间戳类型。

    除了您根本不应该使用该数据类型之外,您似乎还想存储时间间隔,因此请使用interval

    【讨论】:

      猜你喜欢
      • 2010-11-15
      • 2011-03-15
      • 2021-09-09
      • 2021-05-04
      • 2021-12-10
      • 1970-01-01
      • 2015-07-10
      • 2021-12-14
      • 2012-07-31
      相关资源
      最近更新 更多