web-dev-qa-db-ja.com

整数分をpostgresの間隔に変換する方法

私は整数の分をpostgresの間隔に変換しようとしています

それらを間隔に変換するのに役立つ機能はありますか、それを60で割って最終結果を取得する必要があります

20 minutes will be like 00:20:00 as result 
17
Abhijeet Gulve

最速の方法はmake_interval

make_interval(years int DEFAULT 0, months int DEFAULT 0, weeks int DEFAULT 0, days int DEFAULT 0, hours int DEFAULT 0, mins int DEFAULT 0, secs double precision DEFAULT 0.0)

したがって、これは次のようになります(@Teddyが示唆するとおり)

SELECT make_interval(mins => 20);

または、

SELECT make_interval(0,0,0,0,0,20);

速度が問題でない場合は、*メソッド@a_horse_with_no_nameに言及

SELECT 20 * '1 minute'::interval;
24
Evan Carroll

その整数を' minutes'で連結できます:

t=# with i as (
  select 20::int n
)
select concat(n,' minutes')::interval 
from i;
  concat
----------
 00:20:00
(1 row)

Time: 1.220 ms

更新

または:interval '1' minute * n a_horse_with_no_nameが言うように

3
Vao Tsun

interval列にデータを挿入しようとしている場合、整数秒を使用できます。PostgreSQLはそれを間隔に変換します。

0
Edgar Ortega