wie man ganzzahlige Minuten in postgres in ein Intervall umwandelt

Ich versuche, Minuten, die in Postgres in Integer zu Intervall sind, zu konvertieren

Ist ihre eine function, die mir helfen wird, es in Intervall zu konvertieren oder sollte ich es durch 60 teilen und das Endergebnis bekommen

20 minutes will be like 00:20:00 as result 

Solutions Collecting From Web of "wie man ganzzahlige Minuten in postgres in ein Intervall umwandelt"

Sie können diese Ganzzahl mit ' 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 

Aktualisierung :

Oder: interval '1' minute * n als a_horse_with_no_name sagt

Der schnellste path ist mit 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) 

So sieht es aus (wie von @Teddy vorgeschlagen)

 SELECT make_interval(mins := 20); 

oder,

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

Um nicht zu sagen, das ist das sauberste, wenn Geschwindigkeit kein Problem ist, bevorzuge ich die * -Methode @a_horse_with_no_name erwähnt

 SELECT 20 * '1 minute'::interval;