2017-04-27 25 views

回答

1

可以Concat的與' 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說

+0

感謝維羅樽,它的工作對我來說 –

+6

或者:'interval'1'minute * n' –

5

最快方法是使用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; 
+0

爲什麼不簡單地使用'make_interval(mins:= 20)'? – Teddy

+0

@泰迪良好的糾正,我已經添加到答案 –

相關問題