Dela via


Vilka är SQL-databasfunktionerna?

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

Lär dig mer om de kategorier av inbyggda funktioner som du kan använda med SQL-databaser. Du kan använda de inbyggda funktionerna eller skapa egna användardefinierade funktioner.

Aggregatfunktioner

Aggregeringsfunktioner utför en beräkning på en uppsättning värden och returnerar ett enda värde. De tillåts i urvalslistan eller satsen i HAVING en SELECT -instruktion. Du kan använda en aggregering i kombination med GROUP BY -satsen för att beräkna aggregeringen på rader. OVER Använd -satsen för att beräkna aggregeringen för ett visst värdeintervall. OVER Satsen kan inte följa GROUPING aggregeringarna eller GROUPING_ID .

Alla aggregeringsfunktioner är deterministiska, vilket innebär att de alltid returnerar samma värde när de körs på samma indatavärden. Mer information finns i Deterministiska och icke-terministiska funktioner.

Analysfunktioner

Analysfunktioner beräknar ett aggregerat värde baserat på en grupp rader. Men till skillnad från mängdfunktioner kan analysfunktioner returnera flera rader för varje grupp. Du kan använda analysfunktioner för att beräkna glidande medelvärden, löpande summor, procentandelar eller top-N-resultat i en grupp.

Bitmanipuleringsfunktioner

Gäller för: SQL Server 2022 (16.x) och senare versioner, Azure SQL Managed Instance, Azure SQL Database, SQL-databas i Microsoft Fabric

Med bitmanipuleringsfunktioner kan du bearbeta och lagra data mer effektivt än med enskilda bitar. Mer information finns i Bitmanipuleringsfunktioner.

Konfigurationsfunktioner

Konfigurationsfunktioner är skalära funktioner som returnerar information om aktuella konfigurationsalternativinställningar, till exempel @@SERVERNAME (Transact-SQL).

Alla konfigurationsfunktioner fungerar på ett icke-deterministiskt sätt. Med andra ord returnerar dessa funktioner inte alltid samma resultat varje gång de anropas, även med samma uppsättning indatavärden. Mer information om funktions determinism finns i Deterministiska och nondeterministiska funktioner.

Rankningsfunktioner

Rankningsfunktioner returnerar ett rangordningsvärde för varje rad i en partition. Beroende på vilken funktion som används kan vissa rader få samma värde som andra rader. Rangordningsfunktioner är icke-terministiska.

Raduppsättningsfunktioner

Raduppsättningsfunktioner Returnerar ett objekt som kan användas som tabellreferenser i en SQL-instruktion.

Skalärfunktioner

Använd ett enda värde och returnera sedan ett enda värde. Skalärfunktioner kan användas varhelst ett uttryck är giltigt.

Kategorier av skalärfunktioner

Funktionskategori Description
Konfigurationsfunktioner Returnera information om den aktuella konfigurationen.
Konverteringsfunktioner Stöd för datatypsgjutning och konvertering.
Markörfunktioner Returnera information om markörer.
Datatyper och funktioner för datum och tid Utför åtgärder för indatavärden för datum och tid och retursträng, numeriska värden eller datum- och tidsvärden.
Graffunktioner Utför åtgärder för att konvertera till och från teckenrepresentationer av grafnoder och kant-ID:er.
JSON-funktioner Verifiera, fråga eller ändra JSON-data.
Logiska funktioner Utför logiska åtgärder.
Matematiska funktioner Utför beräkningar baserat på indatavärden som anges som parametrar till funktionerna och returnera numeriska värden.
Metadatafunktioner Returnera information om databas- och databasobjekten.
Säkerhetsfunktioner Returnera information om användare och roller.
Strängfunktioner Utför åtgärder på ett indatavärde för en sträng (tecken eller varchar) och returnera en sträng eller ett numeriskt värde.
Systemfunktioner Utför åtgärder och returnera information om värden, objekt och inställningar i en instans av SQL Server.
Systemstatistikfunktioner Returnera statistisk information om systemet.
Text- och bildfunktioner Utför åtgärder på text- eller bildindatavärden eller kolumner och returnera information om värdet.

Strängfunktioner

Skalärfunktioner utför en åtgärd på ett strängindatavärde och returnerar en sträng eller ett numeriskt värde, till exempel ASCII (Transact-SQL).

Alla inbyggda strängfunktioner förutom FORMAT är deterministiska. Det innebär att de returnerar samma värde varje gång de anropas med en specifik uppsättning indatavärden. Mer information om funktions determinism finns i Deterministiska och nondeterministiska funktioner.

När strängfunktioner skickas argument som inte är strängvärden konverteras indatatypen implicit till en textdatatyp. Mer information finns i Konvertering av datatyp (databasmotor).

Funktionsbestämning

Inbyggda SQL Server-funktioner är antingen deterministiska eller icke-terministiska. Funktioner är deterministiska när de alltid returnerar samma resultat när de anropas med hjälp av en specifik uppsättning indatavärden. Funktioner är icke-terministiska när de kan returnera olika resultat varje gång de anropas, även med samma specifika uppsättning indatavärden. Mer information finns i Deterministiska och icke-terministiska funktioner

Funktionssortering

Funktioner som tar en teckensträngsinmatning och returnerar ett teckensträngsutdata använder sortering av indatasträngen för utdata.

Funktioner som tar indata som inte är tecken och returnerar en teckensträng använder standardsortering av den aktuella databasen för utdata.

Funktioner som tar indata för flera teckensträngar och returnerar en teckensträng använder reglerna för sorteringsprioritet för att ange sortering av utdatasträngen. Mer information finns i Sorteringspriorence.

Begränsningar

Information om begränsningar för funktionstyper och plattformar finns i CREATE FUNCTION (Transact-SQL).