如何在SQL中处理INTERVAL?

时间:2017-07-29 16:47:11

标签: sql postgresql intervals dml

我没有得到如何使用SQL在数据库中插入INTERVAL

这是一个带有" interval"的表的示例。柱。在这里,我使用INTERVAL DAY(4)假设我输入超过9999天(即超过27年)。

CREATE TABLE Satellite (
  SatelliteName     VARCHAR(32) PRIMARY KEY NOT NULL,
  MissionTime       INTERVAL DAY(4),
  StartingDate      DATE                    NOT NULL
);

如果我想在桌子内插入卫星,知道任务开始于2009-07-10并结束了2013-06-17我该怎么办?

INSERT INTO Satellite (SatelliteName, MissionTime, StartingDate)
VALUES ('Hershel', ????? , '2009-07-10');

注意:我使用 PostgreSQL

2 个答案:

答案 0 :(得分:0)

为什么需要间隔?只需使用天数,并将其存储为int。

您可以将算术视为:

select startingdate + missiontime * interval '1 day'

答案 1 :(得分:0)

make_interval(days := '2013-06-17'::date - '2009-07-10'::date)

'2013-06-17'::timestamp - '2009-07-10'::timestamp