24 시간 동안 5 분마다 시리즈를 생성한다고 가정 해 보겠습니다. PostgreSQL에서 어떻게합니까?
PostgreSQL은 generate_series()
에서 가능 timestamp
하지만에서 가능하지는 않습니다 time
.
임의의 타임 스탬프를 선택하는 것이 좋습니까, 아니면 시리즈를 생성하는 다른 방법이 있습니까?
24 시간 동안 5 분마다 시리즈를 생성한다고 가정 해 보겠습니다. PostgreSQL에서 어떻게합니까?
PostgreSQL은 generate_series()
에서 가능 timestamp
하지만에서 가능하지는 않습니다 time
.
임의의 타임 스탬프를 선택하는 것이 좋습니까, 아니면 시리즈를 생성하는 다른 방법이 있습니까?
답변:
최적화하려면 :
SELECT x::time
FROM generate_series(timestamp '2000-01-01 00:00'
, timestamp '2000-01-02 00:00'
, interval '5 min') t(x);
날짜는 관련이 없으므로 임의의 타임 스탬프 상수를 사용하십시오. 캐스트 time
는 매우 저렴합니다.
여기에는 하한과 상한이 포함되므로 '00:00'
두 번 얻 습니다 . '2000-01-01 23:59'
한 번만 얻으려면 상한으로 사용하십시오 .
관련 :
@EvanCarroll way를 좋아했지만 또 다른 옵션-
select x::time
from generate_series
(current_date,current_date + '1 day - 1 second'::interval,'5 minute') as t(x);
또 다른 방법:
SELECT '00:00:00'::time + x * '1 minute'::interval
FROM generate_series(0, 60*24, 5) AS t(x);