Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL Database a Microsoft Fabricben
Egy vektor bemenetként való beírására szolgál VECTOR_NORM , és visszaadja a vektor normát (amely annak hosszát vagy nagyságát méri) egy adott normatípusban.
Ha például ki szeretné számítani az euklideszi normát (amely a leggyakoribb normatípus), a következőt használhatja:
SELECT VECTOR_NORM ( vector, 'norm2' )
FROM ...
Note
VECTOR_NORM a felügyelt Azure SQL-példányban az SQL Server 2025 vagy az Always-up-todátumfrissítésiszabályzattal érhető el.
Syntax
Transact-SQL szintaxis konvenciók
VECTOR_NORM ( vector , norm_type )
Arguments
vektor
Vektor adattípusra kiértékelt kifejezés.
norm_type
A normatípus nevével ellátott sztring, amely az adott vektor normának kiszámításához használható. A következő normatípusok támogatottak:
-
norm1- Az 1-norma, amely a vektorösszetevők abszolút értékeinek összege. -
norm2- A 2-norma, más néven euklideszi norma, amely a vektorkomponensek négyzetének négyzetgyöke. -
norminf- A végtelen norma, amely a vektorösszetevők abszolút értékeinek maximális értéke.
Visszaadott érték
A függvény egy lebegőpontos értéket ad vissza, amely a vektor normát képviseli a megadott normatípus használatával.
A hiba akkor jelenik meg, ha norm_type nem érvényes normatípus, és ha a vektor nem a vektor adattípusa.
Examples
1. példa
Az alábbi példa egy JSON-tömböt tartalmazó sztringből három dimenzióval rendelkező vektort hoz létre.
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;
A várt visszatérési értékek a következőek lehetnek:
norm2 |
norm1 |
norminf |
|---|---|---|
| 3.7416573867739413 | 6.0 | 3.0 |
2. példa
Az alábbi példa kiszámítja a táblázat egyes vektorainak normáit.
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;