Aracılığıyla paylaş


VECTOR_NORM (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2025 (17.x) Microsoft Fabric'teAzure SQL VeritabanıAzure SQL Yönetilen Örneği SQL veritabanı

Giriş olarak bir vektör almak ve belirtilen VECTOR_NORM vektör normunu (uzunluğunun veya büyüklüğünün ölçüsüdür) döndürmek için kullanın.

Örneğin, Öklid normunu (en yaygın norm türü olan) hesaplamak istiyorsanız şunları kullanabilirsiniz:

SELECT VECTOR_NORM ( vector, 'norm2' )
FROM ...

Note

VECTOR_NORM , SQL Server 2025 veya Always-up-to-dategüncelleştirme ilkesiyle Azure SQL Yönetilen Örneği'nde kullanılabilir.

Syntax

Transact-SQL söz dizimi kuralları

VECTOR_NORM ( vector , norm_type )

Arguments

vector

Vektör veri türü olarak değerlendirilen bir ifade.

norm_type

Verilen vektör normunu hesaplamak için kullanılacak norm türü adına sahip bir dize. Aşağıdaki norm türleri desteklenir:

  • norm1 - Vektör bileşenlerinin mutlak değerlerinin toplamı olan 1 norm.
  • norm2 - Vektör bileşenlerinin karelerinin toplamının kare kökü olan Öklid Normu olarak da bilinen 2 norm.
  • norminf - Vektör bileşenlerinin mutlak değerlerinin maksimumu olan sonsuzluk normu.

Dönüş değeri

İşlev, belirtilen norm türünü kullanarak vektör normunu temsil eden bir float değeri döndürür.

norm_type geçerli bir norm türü değilse ve vektör vektör veri türünde değilse bir hata döndürülür.

Examples

Örnek 1

Aşağıdaki örnek, JSON dizisine sahip bir dizeden üç boyutlu bir vektör oluşturur.

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;

Beklenen dönüş değerleri:

norm2 norm1 norminf
3.7416573867739413 6.0 3.0

Örnek 2

Aşağıdaki örnek, bir tablodaki her vektöre ait normu hesaplar.

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;