Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na: SQL Server 2022 (16.x)
Azure SQL Database
AzureSQL Managed Instance
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL database in Microsoft Fabric
Vygeneruje řadu čísel v daném intervalu. Interval a krok mezi hodnotami sérií jsou definovány uživatelem.
Úroveň kompatibility 160
GENERATE_SERIES Vyžaduje úroveň kompatibility alespoň 160. Pokud je úroveň kompatibility nižší než 160, databázový engine nemůže funkci GENERATE_SERIES najít.
Pokud chcete změnit úroveň kompatibility databáze, přečtěte si článek Zobrazení nebo změna úrovně kompatibility databáze.
Syntaxe
GENERATE_SERIES ( start , stop [ , step ] )
Arguments
start
První hodnota v intervalu. Start je specifikován jako proměnná, literál nebo skalární výraz typu tinyint, smallint, int, bigint, desetinný nebo číselný výraz.
Stop
Poslední hodnota v intervalu. Stop je specifikován jako proměnná, literál nebo skalární výraz typu tinyint, smallint, int, bigint, desetinnýnebo číselný výraz. Série se zastaví, jakmile poslední generovaná hodnota kroku překročí hodnotu stop.
Datový typ pro stopmusí odpovídat datovému typu pro start.
[ Krok ]
Označuje počet hodnot, které je třeba mezi kroky v řadě zvyšovat nebo snižovat.
Step je výraz typu tinyint, smallint, int, bigint, desetinný nebo číselný číslo.
krok může být záporný nebo kladný, ale nemůže být nula (0).
Tento argument je nepovinný. Výchozí hodnota pro step je 1, pokud je start menší než stop, jinak je výchozí hodnota -1, pokud je start větší než stop.
Pokud je start menší než stop a pro step je zadána záporná hodnota, nebo pokud start je větší než stop a pro step je zadána kladná hodnota, vrátí se prázdná množina výsledků.
Návratové typy
Vrátí tabulku s jedním sloupcem obsahující posloupnost hodnot, v nichž se každá liší od předchozí o krok. Název sloupce je value. Výstup je stejný typ jako start a stop.
Povolení
Pro . není potřeba GENERATE_SERIESžádná oprávnění. Uživatel však potřebuje povolení EXECUTE v databázi a povolení k dotazování jakýchkoli dat, která jsou použita jako vstupy.
Examples
Následující příklady ukazují syntaxi volání GENERATE_SERIES.
A. Generujte řadu celočíselných hodnot mezi 1 a 10 v krocích po 1 (výchozí)
SELECT value
FROM GENERATE_SERIES(1, 10);
Tady je soubor výsledků.
value
-----------
1
2
3
4
5
6
7
8
9
10
B. Generujte řadu celočíselných hodnot mezi 1 a 50 v krocích po 5
SELECT value
FROM GENERATE_SERIES(1, 50, 5);
Tady je soubor výsledků.
value
-----------
1
6
11
16
21
26
31
36
41
46
C. Generujte řadu desetinných hodnot mezi 0,0 a 1,0 v krocích po 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);
Tady je soubor výsledků.
value
---------------------------------------
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0