다음을 통해 공유


VECTOR_NORM(Transact-SQL)(미리 보기)

적용 대상: Azure SQL Database

참고 항목

이 데이터 형식은 미리 보기 상태이며 변경될 수 있습니다. 온라인 서비스용 SLA(서비스 수준 계약) 문서에서 미리 보기 사용 약관 을 읽어야 합니다 .

함수 VECTOR_NORM 는 벡터를 입력으로 사용하고 지정된 norm 형식에서 벡터의 표준(길이 또는 크기의 측정값)을 반환합니다.

예를 들어 유클리드 표준(가장 일반적인 표준 형식)을 계산하려는 경우 다음을 사용할 수 있습니다.

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

구문

Transact-SQL 구문 표기 규칙

VECTOR_NORM ( vector_column, norm_type )

인수

vector_column

벡터로 계산되는 식입니다. 이 열은 새 벡터 데이터 형식이어야 합니다.

norm_type

지정된 벡터의 norm을 계산하는 데 사용할 norm 형식의 이름을 가진 문자열입니다. 지원되는 표준 형식은 다음과 같습니다.

  • norm1 - 벡터 구성 요소의 절대값 합계인 1-norm입니다.
  • norm2 - 벡터 구성 요소의 제곱 합계의 제곱근인 Euclidean Norm이라고도 하는 2-norm입니다.
  • norminf - 벡터 구성 요소의 절대 값의 최대값인 무한대 표준입니다.

반환 값

이 함수는 지정된 norm 형식을 사용하여 벡터의 norm을 나타내는 부동 소수 자릿수 값을 반환합니다.

norm_type 유효한 norm 형식이 아니고 vector_column 벡터 형식이 아닌 경우 오류가 반환 됩니다.

예제

예 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

예제 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;