Todos os produtos
Search
Central de documentação

Hologres:Set returning functions

Última atualização: Jun 28, 2026

O Hologres oferece suporte a um subconjunto das funções que retornam conjuntos do PostgreSQL. Essas funções expandem uma única chamada em um conjunto de linhas, o que as torna úteis para gerar sequências e índices de arrays diretamente em consultas SQL.

Para consultar a especificação completa do PostgreSQL, veja Set Returning Functions na documentação do PostgreSQL.

Funções compatíveis

Função

Tipos de argumento

Tipo de retorno

Descrição

GENERATE_SERIES(start, stop [, step])

INT, BIGINT ou NUMERIC

setof INT, BIGINT ou NUMERIC

Gera uma sequência numérica de start até stop.

GENERATE_SERIES(start, stop, step INTERVAL)

TIMESTAMP ou TIMESTAMP WITH TIME ZONE

setof TIMESTAMP ou TIMESTAMP WITH TIME ZONE

Gera uma sequência de timestamps de start até stop.

GENERATE_SUBSCRIPTS(anyarray, dim)

Qualquer tipo de array, INT

setof INT

Gera os índices válidos para uma dimensão de um array.

GENERATE_SERIES

Gera uma sequência de valores de start até stop, com incremento definido por step. Os valores de start e stop são inclusivos.

Assinaturas

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

Sequência numérica

Gera uma sequência de valores INT, BIGINT ou NUMERIC.

Parâmetros

Parâmetro

Obrigatório

Tipo de dados

Descrição

start

Sim

INT, BIGINT ou NUMERIC

Primeiro valor da sequência.

stop

Sim

INT, BIGINT ou NUMERIC

Último valor da sequência (inclusivo).

step

Não

INT, BIGINT ou NUMERIC

Incremento entre os valores. O padrão é 1.

Tipo de retorno: Um conjunto de valores com o mesmo tipo de dados dos parâmetros de entrada.

Exemplos

Sequência ascendente com o passo padrão:

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

Sequência descendente com passo negativo:

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

Sequência de timestamp

Gera uma sequência de valores TIMESTAMP ou TIMESTAMP WITH TIME ZONE.

Parâmetros

Parâmetro

Obrigatório

Tipo de dados

Descrição

start

Sim

TIMESTAMP ou TIMESTAMP WITH TIME ZONE

Primeiro valor da sequência.

stop

Sim

TIMESTAMP ou TIMESTAMP WITH TIME ZONE

Último valor da sequência (inclusivo).

step

Sim

INTERVAL

Intervalo de tempo entre os valores.

Tipo de retorno: Um conjunto de valores com o mesmo tipo de dados dos parâmetros de entrada.

Exemplo

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

Gera os índices válidos para uma determinada dimensão de um array. Use esta função para iterar sobre elementos de um array por índice.

Assinatura

GENERATE_SUBSCRIPTS(anyarray, dim)

Parâmetros

Parâmetro

Obrigatório

Tipo de dados

Descrição

anyarray

Sim

Qualquer tipo de array

Array multidimensional de qualquer tipo cujos índices serão gerados.

dim

Sim

INT

Dimensão do array para a qual os índices serão gerados.

Tipo de retorno: Um conjunto de inteiros que representam os índices válidos.

Exemplo

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