Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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
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;