Alias: generateSeries
Retorna uma tabela com uma única coluna ‘generate_series’ (UInt64) que contém inteiros de start a stop, inclusive:
generate_series(START, STOP)
Retorna uma tabela com a única coluna ‘generate_series’ (UInt64), que contém inteiros de start até stop, inclusive, com espaçamento entre os valores definido por STEP:
generate_series(START, STOP, STEP)
STEP pode ser negativo; nesse caso, a série é gerada em ordem decrescente, de START até STOP. Se STEP for negativo e START < STOP, o resultado será vazio.
As consultas a seguir retornam tabelas com o mesmo conteúdo, mas nomes de colunas diferentes:
SELECT * FROM numbers(10, 5);
┌─number─┐
│ 10 │
│ 11 │
│ 12 │
│ 13 │
│ 14 │
└────────┘
SELECT * FROM generate_series(10, 14);
┌─generate_series─┐
│ 10 │
│ 11 │
│ 12 │
│ 13 │
│ 14 │
└─────────────────┘
E as consultas a seguir retornam tabelas com o mesmo conteúdo, mas com nomes de colunas diferentes (embora a segunda opção seja mais eficiente):
SELECT * FROM numbers(10, 11) WHERE number % 3 == (10 % 3);
┌─number─┐
│ 10 │
│ 13 │
│ 16 │
│ 19 │
└────────┘
SELECT * FROM generate_series(10, 20, 3);
┌─generate_series─┐
│ 10 │
│ 13 │
│ 16 │
│ 19 │
└─────────────────┘
Gere uma sequência decrescente:
SELECT * FROM generate_series(9, 0, -1);
┌─generate_series─┐
│ 9 │
│ 8 │
│ 7 │
│ 6 │
│ 5 │
│ 4 │
│ 3 │
│ 2 │
│ 1 │
│ 0 │
└─────────────────┘
Última modificação em 10 de junho de 2026