Bagikan melalui


VECTOR_NORM (T-SQL) (Pratinjau)

Berlaku untuk:Azure SQL Database

Catatan

Jenis data ini dalam pratinjau dan dapat berubah. Pastikan untuk membaca persyaratan penggunaan pratinjau dalam dokumen Perjanjian Tingkat Layanan (SLA) untuk Layanan Online.

Mengambil vektor sebagai input dan mengembalikan norma vektor (yang merupakan ukuran panjang atau besarannya) dalam jenis norma tertentu.

Misalnya, jika Anda ingin menghitung norma Euclidean (yang merupakan jenis norma yang paling umum), Anda dapat menggunakan:

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

Sintaks

Konvensi sintaks transact-SQL

VECTOR_NORM ( vector, norm_type )

Argumen

Vektor

Ekspresi yang mengevaluasi ke jenis data vektor .

norm_type

String dengan nama jenis norma yang digunakan untuk menghitung norma vektor yang diberikan. Jenis norma berikut didukung:

  • norm1 - 1-norma, yang merupakan jumlah nilai absolut komponen vektor.
  • norm2 - 2-norma, juga dikenal sebagai Norma Euclidean yang merupakan akar kuadrat dari jumlah kuadrat komponen vektor.
  • norminf - Norma tak terbatas, yang merupakan maksimum dari nilai absolut komponen vektor.

Nilai hasil

Fungsi mengembalikan nilai float yang mewakili norma vektor menggunakan jenis norma yang ditentukan.

Kesalahan dikembalikan jika norm_type bukan jenis norma yang valid dan jika vektor bukan dari jenis data vektor.

Contoh

Contoh 1

Contoh berikut membuat vektor dengan tiga dimensi dari string dengan array JSON.

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;

Nilai pengembalian yang diharapkan adalah:

norm2 norm1 norminf
3.7416573867739413 6.0 3.0

Contoh 2

Contoh berikut menghitung norma setiap vektor dalam tabel.

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;