이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다4300배트맨 토토100-1008버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9.26. 반환 기능 설정#

이 섹션에서는 둘 이상의 행을 토토 할 수있는 함수를 설명합니다. 이 클래스에서 가장 널리 사용되는 기능은 시리즈 생성 함수입니다.표 9.69and표 9.70. 보다 전문화 된 세트 퇴행 기능은이 매뉴얼의 다른 곳에 설명되어 있습니다. 보다섹션 7.2.1.4여러 세트 리턴 기능을 결합하는 방법은

표 9.69. 시리즈 생성 기능

기능

설명

Generate_Series(시작 정수, 정지 Integer[, step 정수]) →정수 세트

Generate_Series(시작 bigint, STOP bigint[, Step bigint]) →bigint

Generate_Series(시작 숫자, 정지 숫자[, Step 숫자]) →숫자 설정

일련의 값을 생성시작to정지, 단계 크기가Step. Step기본값으로 1

Generate_Series(시작 타임 스탬프, 정지 타임 스탬프, Step 간격) →타임 스탬프 설정

Generate_Series(시작 시간대가있는 타임 스탬프, 정지 시간대가있는 타임 스탬프, Step 간격[, TimeZone 텍스트]) →시간대가있는 타임 스탬프 설정

일련의 값을 생성시작toSTOP, 스텝 크기의Step. 시간대 인식 형태에서, 시간의 시간 및 일광 절약 조정 조정은에 의해 지명 된 시간대에 따라 계산됩니다.TimeZone인수 또는 현재TimeZone생략 된 경우 설정.


언제Step양수, 0 행을 토토하면시작STOP. 반대로,Step음수, 0 행이 토토되면시작보다 작습니다STOP. 입력이 있으면 제로 행도 토토됩니다NULL. 에 대한 오류입니다.Step0이 될 것입니다. 몇 가지 예는 다음과 같습니다.

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(배열 AnyArray, dim Integer) →정수 세트

의 유효한 위시로 구성된 시리즈를 생성합니다Dim'주어진 배열의 치수.

Generate_Subscripts(배열 AnyArray, dim Integer, Reverse 부울) →정수 세트

dim'주어진 배열의 치수. 언제ReverseTrue, 시리즈를 역 순서로 토토합니다.


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 줄)