말 그대로 시리즈를 생성(-_-)한다.


generate_series(start, stop, step=1)



start : 시작 인덱스
stop : 종료 인덱스
step : 증감수치



// 단순 숫자 증가 (1부터 11까지 출력)
SELECT 1 + a FROM generate_series(0, 10) as a;
SELECT 1 + a FROM generate_series(0, 10, 1) as a;

// 단순 숫자 감소 (1부터 -9까지 출력)
SELECT 1 + a FROM generate_series(0, -10, -1) as a;

// 오늘부터 2달치의 날짜 출력
SELECT current_date + s as date FROM generate_series(0, 60, 1) as s;

// 오늘부터 2달치의 날짜를 1주일 간격으로 출력
SELECT current_date + s as date FROM generate_series(0, 60, 7) as s;

// 과거로 2달
SELECT current_date + s as date FROM generate_series(0, -60) as s;

// 2008년 1월 1일부터 2달
SELECT to_date('2008-01-' || to_char(no, 'FM00'), 'YYYY-MM-DD') as no FROM generate_series(1, 60) as a (no);





참고 : http://www.postgresql.org/docs/8.3/interactive/functions-srf.html
Posted by bloodguy
,