이 섹션에서는 둘 이상의 행을 토토 할 수있는 함수를 설명합니다. 이 클래스에서 가장 널리 사용되는 기능은 시리즈 생성 함수입니다.표 9.69and표 9.70. 보다 전문화 된 세트 퇴행 기능은이 매뉴얼의 다른 곳에 설명되어 있습니다. 보다섹션 7.2.1.4여러 세트 리턴 기능을 결합하는 방법은
표 9.69. 시리즈 생성 기능
기능 설명 |
---|
일련의 값을 생성 |
일련의 값을 생성 |
언제Step
양수, 0 행을 토토하면시작
STOP
. 반대로,Step
음수, 0 행이 토토되면시작
보다 작습니다STOP
. 입력이 있으면 제로 행도 토토됩니다NULL
. 에 대한 오류입니다.Step
0이 될 것입니다. 몇 가지 예는 다음과 같습니다.
select * from generate_series (2,4); 생성 _series ------------------ 2 3 4 (3 줄) generate_series (5,1, -2)에서 선택 *; 생성 _series ------------------ 5 3 1 (3 줄) generate_series (4,3)에서 *를 선택하십시오. 생성 _series ------------------ (0 줄) Generate_Series (1.1, 4, 1.3)를 선택하십시오. 생성 _series ------------------ 1.1 2.4 3.7 (3 줄) -이 예제는 Date-Plus-Integer 연산자에 의존합니다. generate_series (0,14,7)의 날짜로 current_date + s.a를 선택하여 s (a); 날짜 ------------ 2004-02-05 2004-02-12 2004-02-19 (3 줄) generate_series에서 *를 선택하십시오 ( '2008-03-01 00:00':: Timestamp, '2008-03-04 12:00', '10 시간 '); 생성 _series -------------------- 2008-03-01 00:00:00 2008-03-01 10:00:00 2008-03-01 20:00:00 2008-03-02 06:00:00 2008-03-02 16:00:00 2008-03-03 02:00:00 2008-03-03 12:00:00 2008-03-03 22:00:00 2008-03-04 08:00:00 (9 줄) -이 예제는 TimeZone이 UTC로 설정되었다고 가정합니다. DST 전환에 유의하십시오. generate_series에서 *를 선택하십시오 ( '2001-10-22 00:00-04 : 00':: Timestamptz, '2001-11-01 00:00 -05 : 00':: Timestamptz, '1 일':: 간격, 'America/New_York'); 생성 _series ------------------------- 2001-10-22 04 : 00 : 00+00 2001-10-23 04 : 00 : 00+00 2001-10-24 04 : 00 : 00+00 2001-10-25 04 : 00 : 00+00 2001-10-26 04 : 00 : 00+00 2001-10-27 04 : 00 : 00+00 2001-10-28 04 : 00 : 00+00 2001-10-29 05 : 00 : 00+00 2001-10-30 05 : 00 : 00+00 2001-10-31 05 : 00 : 00+00 2001-11-01 05 : 00 : 00+00 (11 줄)
표 9.70. 위시 생성 함수
Generate_Subscripts
는 주어진 배열의 지정된 치수에 대한 유효한 첨자 세트를 생성하는 편의 기능입니다. 요청 된 차원이없는 배열에 대해 0 행이 반환되거나 입력이있는 경우null
. 몇 가지 예는 다음과 같습니다.
- 기본 사용 : Generate_Subscripts ( 'null, 1, null, 2':: int [], 1)를 s로 선택하십시오. 에스 --- 1 2 3 4 (4 줄) - 배열, 첨자 및 구역을 제시합니다 - 값은 하위 쿼리가 필요합니다. 배열에서 *를 선택하십시오. 에이 ------------------- -1, -2 100,200,300
에서 함수가있을 때From
조항은 접미사에 의해 접미사의식
, abigint
열은 함수의 출력 열에 추가됩니다. 이는 1에서 시작하여 함수의 출력의 각 행에 대해 1에서 1 씩 증가합니다. 이것은와 같은 세트 반환 함수의 경우 가장 유용합니다.UNNEST ()
.
- 조례와 함께 반환 기능을 설정합니다. t (ls, n)과 같은 조례를 가진 pg_ls_dir ( '.')에서 *를 선택하십시오. ls | N ---------------+---- PG_SERIAL | 1 pg_twophase | 2 Postmaster.opts | 3 pg_notify | 4 postgresql.conf | 5 PG_TBLSPC | 6 로그 파일 | 7 베이스 | 8 Postmaster.pid | 9 pg_ident.conf | 10 글로벌 | 11 pg_xact | 12 PG_SNAPSHOTS | 13 pg_multixact | 14 pg_version | 15 PG_WAL | 16 pg_hba.conf | 17 PG_STAT_TMP | 18 PG_SUBTRANS | 19 (19 줄)