Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2025 (17.x)
Azure SQL Database
AzureSQL Managed Instance
SQL database in Microsoft Fabric
Use VECTOR_NORM para tomar um vetor como uma entrada e retornar a norma do vetor (que é uma medida de seu comprimento ou magnitude) em um determinado tipo de norma.
Por exemplo, se você quiser calcular a norma euclidiana (que é o tipo de norma mais comum), você pode usar:
SELECT VECTOR_NORM ( vector, 'norm2' )
FROM ...
Note
VECTOR_NORMestá disponível na Instância Gerenciada SQL do Azure com a política de atualizaçãoSQL Server 2025 ou Always-up-to-date.
Syntax
Transact-SQL convenções de sintaxe
VECTOR_NORM ( vector , norm_type )
Arguments
vetor
Uma expressão que é avaliada como tipo de dados vetoriais .
norm_type
Uma cadeia de caracteres com o nome do tipo de norma a ser usado para calcular a norma do vetor dado. Os seguintes tipos de normas são suportados:
-
norm1- A norma 1, que é a soma dos valores absolutos dos componentes vetoriais. -
norm2- A 2-norma, também conhecida como Norma Euclidiana, que é a raiz quadrada da soma dos quadrados dos componentes vetoriais. -
norminf- A norma do infinito, que é o máximo dos valores absolutos dos componentes vetoriais.
Valor de retorno
A função retorna um valor float que representa a norma do vetor usando o tipo de norma especificado.
Um erro será retornado se norm_type não for um tipo de norma válido e se o vetor não for do tipo de dados vetoriais.
Examples
Exemplo 1
O exemplo a seguir cria um vetor com três dimensões a partir de uma cadeia de caracteres com uma matriz JSON.
DECLARE @v AS VECTOR(3) = '[1, 2, 3]';
SELECT VECTOR_NORM(@v, 'norm2') AS norm2,
VECTOR_NORM(@v, 'norm1') AS norm1,
VECTOR_NORM(@v, 'norminf') AS norminf;
Os valores de retorno esperados seriam:
norm2 |
norm1 |
norminf |
|---|---|---|
| 3.7416573867739413 | 6.0 | 3.0 |
Exemplo 2
O exemplo a seguir calcula a norma de cada vetor em uma tabela.
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;