Sdílet prostřednictvím


Jaké jsou funkce databáze SQL?

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Seznamte se s kategoriemi předdefinovaných funkcí, které můžete používat s databázemi SQL. Můžete použít předdefinované funkce nebo vytvořit vlastní uživatelem definované funkce.

Agregační funkce

Agregační funkce provádějí výpočet pro sadu hodnot a vracejí jednu hodnotu. Jsou povolené v seznamu select nebo klauzuli HAVINGSELECT příkazu. Agregaci můžete použít v kombinaci s GROUP BY klauzulí k výpočtu agregace pro kategorie řádků. OVER Pomocí klauzule můžete vypočítat agregaci pro konkrétní rozsah hodnot. Klauzule OVER nemůže následovat GROUPING za GROUPING_ID agregacemi.

Všechny agregační funkce jsou deterministické, což znamená, že při spuštění na stejných vstupních hodnotách vždy vrátí stejnou hodnotu. Další informace naleznete v tématu Deterministické a nedeterministické funkce.

Analytické funkce

Analytické funkce vypočítá agregační hodnotu na základě skupiny řádků. Na rozdíl od agregačních funkcí ale analytické funkce můžou pro každou skupinu vracet více řádků. Analytické funkce můžete použít k výpočtu klouzavých průměrů, průběžných součtů, procent nebo výsledků top-N v rámci skupiny.

Funkce pro práci s bity

Platí na: SQL Server 2022 (16.x) a pozdější verze, Azure SQL Managed Instance, Azure SQL Database, SQL database in Microsoft Fabric

Funkce pro manipulaci s bity umožňují zpracovávat a ukládat data efektivněji než s jednotlivými bity. Další informace naleznete v tématu Funkce pro manipulaci s bity.

Konfigurační funkce

Konfigurační funkce jsou skalární funkce, které vracejí informace o aktuálním nastavení možností konfigurace, například @@SERVERNAME (Transact-SQL).

Všechny konfigurační funkce fungují nedeterministicky. Jinými slovy, tyto funkce nevrací vždy stejné výsledky pokaždé, když jsou vyvolány, i když mají stejnou sadu vstupních hodnot. Další informace o determinismu funkce naleznete v tématu Deterministické a nedeterministické funkce.

Funkce řazení

Funkce řazení vracejí hodnotu řazení pro každý řádek v oddílu. V závislosti na použité funkci můžou některé řádky obdržet stejnou hodnotu jako jiné řádky. Funkce řazení jsou nedeterministické.

Funkce sady řádků

Funkce sady řádků vrátí objekt, který lze použít jako odkazy na tabulky v příkazu SQL.

Skalární funkce

Operace s jednou hodnotou a následným vrácením jedné hodnoty Skalární funkce lze použít všude, kde je výraz platný.

Kategorie skalárních funkcí

Kategorie funkce Description
Konfigurační funkce Vrátí informace o aktuální konfiguraci.
Funkce převodu Podpora přetypování a převodu datového typu
Funkce kurzoru Vrátí informace o kurzorech.
Datové typy a funkce data a času Provádění operací se vstupními hodnotami data a času a návratovými řetězci, číselnými hodnotami nebo hodnotami data a času.
Grafové funkce Provádění operací převodu na a z reprezentací znaků uzlu grafu a hraničních ID.
Funkce JSON Ověření, dotazování nebo změna dat JSON
Logické funkce Provádění logických operací
Matematické funkce Provádět výpočty založené na vstupních hodnotách zadaných jako parametry funkcí a vracet číselné hodnoty.
Funkce metadat Vrátí informace o databázových a databázových objektech.
Funkce zabezpečení Vrátí informace o uživatelích a rolích.
Řetězcové Funkce Proveďte operace se vstupní hodnotou řetězce (char nebo varchar) a vracete řetězcovou nebo číselnou hodnotu.
Systémové funkce Provádět operace a vracet informace o hodnotách, objektech a nastaveních v instanci SQL Serveru.
Statistické funkce systému Vrátí statistické informace o systému.
Funkce textu a obrázku Provádění operací s textovými nebo obrázkovými vstupními hodnotami nebo sloupci a vrácením informací o hodnotě.

Řetězcové funkce

Skalární funkce provádějí operaci se vstupní hodnotou řetězce a vracejí řetězec nebo číselnou hodnotu, například ASCII (Transact-SQL).

Všechny předdefinované řetězcové funkce s výjimkou FORMAT deterministické. To znamená, že při každém zavolání vrátí stejnou hodnotu s konkrétní sadou vstupních hodnot. Další informace o determinismu funkce naleznete v tématu Deterministické a nedeterministické funkce.

Pokud jsou řetězcové funkce předány argumenty, které nejsou řetězcové hodnoty, vstupní typ je implicitně převeden na textový datový typ. Další informace naleznete v tématu Převod datových typů (databázový stroj).

Determinismus funkce

Předdefinované funkce SQL Serveru jsou deterministické nebo nedeterministické. Funkce jsou deterministické, když vždy vrátí stejný výsledek, kdykoli se volají pomocí konkrétní sady vstupních hodnot. Funkce jsou nedeterministické, když by mohly při každém zavolání vracet různé výsledky, a to i se stejnou konkrétní sadou vstupních hodnot. Další informace naleznete v tématu Deterministické a nedeterministické funkce.

Kolace funkcí

Funkce, které přebírají vstup řetězce znaků a vrací výstup řetězce znaků, používají kolaci vstupního řetězce pro výstup.

Funkce, které přebírají vstupy bez znaků a vrací řetězec znaků, používají výchozí kolaci aktuální databáze pro výstup.

Funkce, které přebírají více znaků řetězcové vstupy a vracejí řetězec znaků, používají pravidla priority kolace k nastavení kolace výstupního řetězce. Další informace naleznete v tématu Priorita kolace.

Omezení

Informace o omezeních typů funkcí a platforem naleznete v tématu CREATE FUNCTION (Transact-SQL).