Anteckning
Å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 2025 (17.x) Förhandsversion av
Azure SQL Database
Azure SQL Managed Instance
SQL Database i Förhandsversion av Microsoft Fabric
Använd VECTOR_NORM för att ta en vektor som indata och returnera normen för vektorn (som är ett mått på dess längd eller storlek) i en viss normtyp.
Om du till exempel vill beräkna den euklidiska normen (som är den vanligaste normtypen) kan du använda:
SELECT VECTOR_NORM ( vector, 'norm2' )
FROM ...
Note
VECTOR_NORMär tillgängligt i Azure SQL Managed Instance med sql Server 2025- eller always-up-to-date update-principen.
Syntax
Transact-SQL syntaxkonventioner
VECTOR_NORM ( vector , norm_type )
Arguments
vector
Ett uttryck som utvärderas till vektordatatyp .
norm_type
En sträng med namnet på den normtyp som ska användas för att beräkna normen för den angivna vektorn. Följande normtyper stöds:
-
norm1– 1-normen, som är summan av de absoluta värdena för vektorkomponenterna. -
norm2- 2-normen, även känd som Euclidean Norm, som är kvadratroten av summan av kvadraterna i vektorkomponenterna. -
norminf– Oändlighetsnormen, som är maxvärdet för vektorkomponenternas absoluta värden.
Returvärde
Funktionen returnerar ett flyttalvärde som representerar normen för vektorn med den angivna normtypen.
Ett fel returneras om norm_type inte är en giltig normtyp och om vektorn inte är av vektordatatypen.
Examples
Exempel 1
I följande exempel skapas en vektor med tre dimensioner från en sträng med en JSON-matris.
DECLARE @v AS VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORM(@v, 'norm2') AS norm2,
VECTOR_NORM(@v, 'norm1') AS norm1,
VECTOR_NORM(@v, 'norminf') AS norminf;
Förväntade returvärden skulle vara:
norm2 |
norm1 |
norminf |
|---|---|---|
| 3.7416573867739413 | 6.0 | 3.0 |
Exempel 2
I följande exempel beräknas normen för varje vektor i en tabell.
CREATE TABLE dbo.vectors
(
ID INT PRIMARY KEY,
v VECTOR(3) NOT NULL
);
INSERT INTO dbo.vectors (ID, v)
VALUES
(1, '[0.1, -2, 42]'),
(2, '[2, 0.1, -42]');
SELECT ID, VECTOR_NORM(v, 'norm2') AS norm
FROM dbo.vectors;