私は整数の分をpostgresの間隔に変換しようとしています
それらを間隔に変換するのに役立つ機能はありますか、それを60で割って最終結果を取得する必要があります
20 minutes will be like 00:20:00 as result
最速の方法は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;
その整数を' 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が言うように
interval
列にデータを挿入しようとしている場合、整数秒を使用できます。PostgreSQLはそれを間隔に変換します。