web-dev-qa-db-ja.com

PostgreSQLの日付に可変時間数を追加する方法は?

どうやら 、PostgreSQLにはDATEADDがありません。+または-演算子。

日付に数時間を追加する必要がありますが、これは次のように実行されます。

date_field + interval '8.25 hour' 

これはすばらしいことですが、テーブルのフィールドから取得するのに何時間も必要です。このようなものになります:

date_field + interval start_time 'hour' 

これを行う方法がどこにも見つかりません。これは実際には不可能ですか?

フィールド値を取得し、3600で除算し、86400で乗算するなど、いハックに頼るのは気にしません。何をする必要があるとしても、それを行う方法は見つかりませんでした。

27
Daniel Magliola

hoursを追加したいので、次のようにする必要があります。

SELECT date_field + interval '1h' * start_time

start_timeは任意の数値にすることができます。

60

答えを見つけました 別のSO質問

date + interval '1' minute * FLOOR(start_time * 60)

誰にでも役立つことを願っています

6
Daniel Magliola

私のために働いたのは

SELECT date_field + interval '1' HOUR * start_time

start_timeは任意の数値にすることができます。

4
Willie Z

誰かがタイムスタンプを追加したい場合

select time '05:00' - interval '2 hours'    
0
Rohil Patel