VECTOR_NORM(Transact-SQL)(미리 보기)
적용 대상: Azure SQL Database
참고 항목
이 데이터 형식은 미리 보기 상태이며 변경될 수 있습니다. 온라인 서비스용 SLA(서비스 수준 계약) 문서에서 미리 보기 사용 약관 을 읽어야 합니다 .
함수 VECTOR_NORM
는 벡터를 입력으로 사용하고 지정된 norm 형식에서 벡터의 표준(길이 또는 크기의 측정값)을 반환합니다.
예를 들어 유클리드 표준(가장 일반적인 표준 형식)을 계산하려는 경우 다음을 사용할 수 있습니다.
SELECT VECTOR_NORM ( vector_column, 'norm2' )
FROM ...
구문
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;