PostgreSQL에서는 generate_series 라는 함수를 이용하면 일련의 숫자를 만들 수 있다.
select generate_series(0, 364) as idx
위의 커리문장은 0부터 364까지의 숫자 레코드셋을 만들어준다.
여기서 응용을 하면 날짜의 덧셈과 cross join 기능을 이용하면 날짜 series를 만들 수 있다.
select a.date + b.idx as date
from ( select '2019-01-01'::date as date ) a
cross join ( select generate_series(0, 364) as idx ) b
2019-01-01
2019-01-02
2019-01-03
2019-01-04
2019-01-05
2019-01-06
2019-01-07
2019-01-08
...
..
.
2019-12-26
2019-12-27
2019-12-28
2019-12-29
2019-12-30
2019-12-31
그리고 이렇게 한방에 만들 수 도 있다.
select generate_series( '2019-01-01'::date , '2019-12-31'::date, '1 day'::interval)::date
'분석 > 데이터분석' 카테고리의 다른 글
PostgreSQL : Windows Function (윈도우함수 정리) (0) | 2019.09.18 |
---|---|
PostgreSQL : psql 명령어 정리 (0) | 2019.09.06 |
Mysql에서 rownum 과 그룹별 rownum (5) | 2019.08.08 |
PostgreSQL - DATEDIFF - Datetime Difference in Seconds, Days, Months, Weeks etc (0) | 2019.06.14 |
PostgreSQL : Schema Backup (0) | 2019.05.14 |