Tüm Ürünler
Search
Belge Merkezi

Hologres:Set returning functions

Son Güncelleme:Oct 06, 2026

Hologres, PostgreSQL küme döndüren işlevlerinin bir alt kümesini destekler. Bu işlevler tek bir çağrıyı bir satır kümesine genişleterek SQL sorguları içinde diziler ve dizi alt indisleri oluşturmak için kullanışlıdır.

Tam PostgreSQL teknik özellikleri için PostgreSQL belgelerindeki Set Returning Functions konusuna bakın.

Desteklenen işlevler

İşlev Bağımsız değişken türleri Dönüş türü Açıklama
GENERATE_SERIES(start, stop [, step]) INT, BIGINT veya NUMERIC setof INT, BIGINT veya NUMERIC start değerinden stop değerine kadar sayısal bir dizi oluşturur.
GENERATE_SERIES(start, stop, step INTERVAL) TIMESTAMP veya TIMESTAMP WITH TIME ZONE setof TIMESTAMP veya TIMESTAMP WITH TIME ZONE start değerinden stop değerine kadar zaman damgası dizisi oluşturur.
GENERATE_SUBSCRIPTS(anyarray, dim) Herhangi bir dizi türü, INT setof INT Bir dizinin tek bir boyutu için geçerli alt indisleri oluşturur.

GENERATE_SERIES

start değerinden stop değerine kadar, step değeri kadar artışlarla bir değer dizisi oluşturur. Hem start hem de stop değerleri dahildir.

İmzalar

GENERATE_SERIES(start, stop [, step])            -- numeric sequence
GENERATE_SERIES(start, stop, step INTERVAL)      -- timestamp sequence

Sayısal dizi

INT, BIGINT veya NUMERIC değerlerinden oluşan bir dizi oluşturur.

Parametreler

Parametre Zorunlu Veri türü Açıklama
start Evet INT, BIGINT veya NUMERIC Dizideki ilk değer.
stop Evet INT, BIGINT veya NUMERIC Dizideki son değer (dahil).
step Hayır INT, BIGINT veya NUMERIC Değerler arasındaki artış miktarı. Varsayılan değer 1 değeridir.

Dönüş türü: Giriş parametreleriyle aynı veri türünde bir değer kümesi.

Örnekler

Varsayılan artışla artan dizi:

SELECT GENERATE_SERIES(2, 4);
 generate_series
-----------------
               2
               3
               4

Negatif artışla azalan dizi:

SELECT GENERATE_SERIES(5, 1, -2);
 generate_series
-----------------
               5
               3
               1

Zaman damgası dizisi

TIMESTAMP veya TIMESTAMP WITH TIME ZONE değerlerinden oluşan bir dizi oluşturur.

Parametreler

Parametre Zorunlu Veri türü Açıklama
start Evet TIMESTAMP veya TIMESTAMP WITH TIME ZONE Dizideki ilk değer.
stop Evet TIMESTAMP veya TIMESTAMP WITH TIME ZONE Dizideki son değer (dahil).
step Evet INTERVAL Değerler arasındaki zaman aralığı.

Dönüş türü: Giriş parametreleriyle aynı veri türünde bir değer kümesi.

Örnek

SELECT GENERATE_SERIES('2024-10-01 00:00'::timestamp, '2024-10-01 12:00', '10 hours');
   generate_series
---------------------
 2024-10-01 00:00:00
 2024-10-01 10:00:00

GENERATE_SUBSCRIPTS

Bir dizinin belirtilen boyutu için geçerli alt indisleri oluşturur. Dizi öğelerini dizin numarasına göre yinelemek için bu işlevi kullanın.

İmza

GENERATE_SUBSCRIPTS(anyarray, dim)

Parametreler

Parametre Zorunlu Veri türü Açıklama
anyarray Evet Herhangi bir dizi türü Alt indisleri oluşturulacak, herhangi bir türdeki çok boyutlu dizi.
dim Evet INT Alt indislerin oluşturulacağı dizi boyutu.

Dönüş türü: Geçerli alt indisleri temsil eden bir tamsayı kümesi.

Örnek

SELECT GENERATE_SUBSCRIPTS('{NULL,1,NULL,2}'::int[], 1);
 generate_subscripts
---------------------
                   1
                   2
                   3
                   4