57

どうやらPostgreSQL には がありません。なぜなら、 or演算子DATEADDだけを使用できるからです。+-

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

date_field + interval '8.25 hour' 

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

date_field + interval start_time 'hour' 

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

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

4

4 に答える 4

106

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

SELECT date_field + interval '1 hour' * start_time

start_time任意の数値にすることができます。
'1 hour'に短縮できます'1h'
intervalスカラーで乗算できます。

于 2013-03-01T16:00:36.103 に答える
8

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

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

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

于 2013-03-01T14:40:43.087 に答える