次の方法で共有


VECTOR_NORM (Transact-SQL) (プレビュー)

適用対象:SQL Server 2025 (17.x) プレビュー Azure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric Preview の SQL データベース

VECTOR_NORMを使用して、ベクトルを入力として取得し、指定されたノルム型のベクトル (長さまたは大きさの尺度) のノルムを返します。

たとえば、ユークリッドノルム (最も一般的なノルム型) を計算する場合は、次の値を使用できます。

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

Note

このデータ型はプレビュー段階であり、変更される可能性があります。 Online Services のサービス レベル アグリーメント (SLA) ドキュメントで、プレビューの使用条件をお読みください。

VECTOR_NORM は、 Always-up-to-date 更新ポリシーで構成された Azure SQL Managed Instance で使用できます。

Syntax

Transact-SQL 構文表記規則

VECTOR_NORM ( vector, norm_type )

Arguments

ベクタ

ベクター データ型に評価される式。

norm_type

指定されたベクトルのノルムの計算に使用するノルム型の名前を持つ文字列。 次の標準型がサポートされています。

  • norm1 - 1 ノルム。ベクトル 成分の絶対値の合計です。
  • norm2 - ベクトル成分の平方和の平方根であるユークリッドノルムとも呼ばれる2ノルム。
  • norminf - 無限ノルム。これはベクトル成分の絶対値の最大値です。

Return value

この関数は、指定されたノルム型を使用して、ベクトルのノルムを表す 浮動小数点 値を返します。

norm_typeが有効なノルム型でない場合、およびベクターがベクター データ型でない場合は、エラーが返されます。

Examples

Example 1

次の例では、JSON 配列を持つ文字列から 3 次元のベクターを作成します。

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;

期待される戻り値は次のようになります。

norm2 norm1 norminf
3.7416573867739413 6.0 3.0

Example 2

次の例では、テーブル内の各ベクトルのノルムを計算します。

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;