Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2022 (16.x)
Azure SQL Database
AzureSQL Managed
Instance SQL Analytics endpoint em Microsoft Fabric
Warehouse em Microsoft Fabric
SQL database em Microsoft Fabric
Gera uma série de números dentro de um determinado intervalo. O intervalo e o passo entre os valores da série são definidos pelo utilizador.
Nível de compatibilidade 160
GENERATE_SERIES requer que o nível de compatibilidade seja pelo menos 160. Quando o nível de compatibilidade é inferior a 160, o Motor de Base de Dados não consegue encontrar a GENERATE_SERIES função.
Para alterar o nível de compatibilidade de um banco de dados, consulte Exibir ou alterar o nível de compatibilidade de um banco de dados.
Transact-SQL convenções de sintaxe
Sintaxe
GENERATE_SERIES ( start , stop [ , step ] )
Arguments
start
O primeiro valor no intervalo. start é especificado como uma variável, literal ou expressão escalar do tipo tinyint, smallint, int, bigint, decimal ou numérica.
Pára
O último valor do intervalo. O stop é especificado como uma variável, literal ou uma expressão escalar do tipo Tinyint, Smallint, Int, Bigint, Decimal ou Numérica. A série termina quando o último valor do passo gerado ultrapassa o valor de paragem .
O tipo de dados para a paradadeve corresponder ao tipo de dados para o início.
[ passo ]
Indica o número de valores a incrementar ou decrementar entre os passos da série.
step é uma expressão do tipo tinyint, smallint, int, bigint, decimal ou numérico.
O degrau pode ser negativo ou positivo, mas não pode ser zero (0).
Este argumento é opcional. O valor padrão para step é 1 se start for menor que stop; caso contrário, o valor por defeito é -1 se start for maior que stop.
Se start for menor que stop e for especificado um valor negativo para o passo, ou se o início for maior que o stop e for especificado um valor positivo para o passo, devolve-se um conjunto de resultados vazio.
Tipos de devolução
Devolve uma tabela de coluna única contendo uma sequência de valores em que cada um difere do anterior por passos. O nome da coluna é value. A saída é do mesmo tipo que start e stop.
Permissions
Não são necessárias permissões para GENERATE_SERIES. No entanto, o utilizador precisa de permissão EXECUTE na base de dados e permissão para consultar quaisquer dados usados como entradas.
Examples
Os exemplos a seguir demonstram a sintaxe para chamar GENERATE_SERIES.
A. Gerar uma série de valores inteiros entre 1 e 10 em incrementos de 1 (padrão)
SELECT value
FROM GENERATE_SERIES(1, 10);
Aqui está o conjunto de resultados.
value
-----------
1
2
3
4
5
6
7
8
9
10
B. Gerar uma série de valores inteiros entre 1 e 50 em incrementos de 5
SELECT value
FROM GENERATE_SERIES(1, 50, 5);
Aqui está o conjunto de resultados.
value
-----------
1
6
11
16
21
26
31
36
41
46
C. Gerar uma série de valores decimais entre 0,0 e 1,0 em incrementos de 0,1
DECLARE @start decimal(2, 1) = 0.0;
DECLARE @stop decimal(2, 1) = 1.0;
DECLARE @step decimal(2, 1) = 0.1;
SELECT value
FROM GENERATE_SERIES(@start, @stop, @step);
Aqui está o conjunto de resultados.
value
---------------------------------------
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0