말 그대로 시리즈를 생성(-_-)한다.
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);
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
'DataBase' 카테고리의 다른 글
[PostgreSQL] index가 깨졌을 때 (0) | 2009.08.28 |
---|---|
[MySQL] Incorrect integer value: '' for column '컬럼명' 오류 발생시 (0) | 2009.08.13 |
[MySQL] root 패스워드 잊어버렸을 때 (Windows 버전) (0) | 2009.07.20 |
[PostgreSQL] 값에 따른 선택적 업데이트 (CASE WHEN) (0) | 2009.07.10 |
[PostgreSQL] DISTINCT ON (0) | 2009.06.30 |