2017-07-29 5 views
0

INTERVALをSQLでデータベースに挿入する方法を知りませんでした。INTERVALをSQLで処理する方法は?

ここでは、「間隔」列を持つ表の例を示します。ここでは9999日以上(すなわち27年以上)を入力しないと仮定して、INTERVAL DAY(4)を使用しました。

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の

+0

あなたのRDBMSは何ですか?適切な注意を払うためにあなたの質問にタグを付けてください。 –

+0

@JorgeCamposあなたの提案をありがとう!私はpostgresqlを使用しています(タグに追加したばかりです) – Robb1

+0

単語の間隔と '..... ..... values ...(...、INTERVAL '689 days'、...) ; ' –

答えて

0

を使用していますか?日数を使用してintとして格納してください。

あなたに算術演算を行うことができます。

select startingdate + missiontime * interval '1 day' 
0
make_interval(days := '2013-06-17'::date - '2009-07-10'::date) 

または

'2013-06-17'::timestamp - '2009-07-10'::timestamp 
関連する問題