Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Azure SQL-Datenbank
Hinweis
Dieser Datentyp befindet sich in der Vorschau und kann geändert werden. Lesen Sie die Nutzungsbedingungen für die Vorschau im Dokument Vereinbarungen zum Servicelevel (Service Level Agreements, SLAs) für Onlinedienste.
Verwendet einen Vektor als Eingabe und gibt die Norm des Vektors (ein Maß für seine Länge oder Größe) in einem bestimmten Normtyp zurück.
Wenn Sie z. B. die Euklidische Norm berechnen möchten (dies ist der häufigste Normtyp), können Sie Folgendes verwenden:
SELECT VECTOR_NORM ( vector, 'norm2' )
FROM ...
Syntax
Transact-SQL-Syntaxkonventionen
VECTOR_NORM ( vector, norm_type )
Argumente
Vektor
Ein Ausdruck, der den Vektordatentyp auswertet.
norm_type
Eine Zeichenfolge mit dem Namen des Normtyps zum Berechnen der Norm des angegebenen Vektors. Die folgenden Normtypen werden unterstützt:
-
norm1
- Die 1-Norm, die die Summe der absoluten Werte der Vektorkomponenten ist. -
norm2
- Die 2-Norm, auch bekannt als euklidische Norm, die die Quadratwurzel der Summe der Quadrate der Vektorkomponenten ist. -
norminf
- Die Unendlichkeitsnorm, die das Maximum der absoluten Werte der Vektorkomponenten ist.
Rückgabewert
Die Funktion gibt einen Float-Wert zurück, der die Norm des Vektors mithilfe des angegebenen Normtyps darstellt.
Wenn norm_type kein gültiger Normtyp ist und der Vektor nicht vom Vektordatentyp ist, wird ein Fehler zurückgegeben.
Beispiele
Beispiel 1
Im folgenden Beispiel wird ein Vektor mit drei Dimensionen aus einer Zeichenfolge mit einem JSON-Array erstellt.
DECLARE @v VECTOR(3) = '[1, 2, 3]';
SELECT
vector_norm(@v, 'norm2') AS norm2,
vector_norm(@v, 'norm1') AS norm1,
vector_norm(@v, 'norminf') AS norminf;
Die erwarteten Rückgabewerte wären:
norm2 |
norm1 |
norminf |
---|---|---|
3.7416573867739413 | 6,0 | 3.0 |
Beispiel 2
Im folgenden Beispiel wird die Norm der einzelnen Vektoren in einer Tabelle berechnet.
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;