Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2022 (16.x)
Azure SQL Database
Azure SQL Managed Instance
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric SQL
database in Microsoft Fabric
Genererar en serie tal inom ett visst intervall. Intervallet och steget mellan serievärden definieras av användaren.
Kompatibilitetsnivå 160
GENERATE_SERIES kräver att kompatibilitetsnivån är minst 160. När kompatibilitetsnivån är mindre än 160 kan databasmotorn inte hitta GENERATE_SERIES funktionen.
Om du vill ändra kompatibilitetsnivån för en databas läser du Visa eller ändra kompatibilitetsnivån för en databas.
Transact-SQL syntaxkonventioner
Syntax
GENERATE_SERIES ( start , stop [ , step ] )
Arguments
start
Det första värdet i intervallet. Start specificeras som en variabel, ett literal- eller skaläruttryck av typen tinyint, smallint, int, bigint, decimal eller numerisk.
Stanna
Det sista värdet i intervallet. stop specificeras som en variabel, ett literal, eller ett skalärt uttryck av typen tinyint, smallint, int, bigint, decimal eller numerisk. Serien slutar när det senast genererade stegvärdet överskrider stoppvärdet .
Datatypen för stoppmåste matcha datatypen för start.
[ steg ]
Anger antalet värden som ska öka eller minska mellan stegen i serien.
step är ett uttryck av typen tinyint, smallint, int, bigint, decimal eller numerisk.
Steg kan vara antingen negativt eller positivt, men kan inte vara noll (0).
Det här argumentet är valfritt. Standardvärdet för steg är 1 om start är mindre än stopp, annars är standardvärdet -1 om start är större än stopp.
Om start är mindre än stop och ett negativt värde anges för steg, eller om start är större än stop och ett positivt värde anges för steg, returneras en tom resultatmängd.
Returtyper
Returnerar en enkolumnstabell som innehåller en sekvens av värden där varje värde skiljer sig från föregående med steg. Namnet på kolumnen är value. Utgången är av samma typ som start och stopp.
Permissions
Inga behörigheter krävs för GENERATE_SERIES. Användaren behöver dock EXECUT-behörighet i databasen och behörighet att fråga all data som används som indata.
Examples
I följande exempel visas syntaxen för att anropa GENERATE_SERIES.
A. Generera en serie heltalsvärden mellan 1 och 10 i steg om 1 (standard)
SELECT value
FROM GENERATE_SERIES(1, 10);
Här är resultatet.
value
-----------
1
2
3
4
5
6
7
8
9
10
B. Generera en serie heltalsvärden mellan 1 och 50 i steg om 5
SELECT value
FROM GENERATE_SERIES(1, 50, 5);
Här är resultatet.
value
-----------
1
6
11
16
21
26
31
36
41
46
C. Generera en serie decimalvärden mellan 0,0 och 1,0 i steg om 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);
Här är resultatet.
value
---------------------------------------
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0