Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к: Sql Server 2025 (17.x)
База данных
SQL Azure Управляемого экземпляра
SQL Azure в Microsoft Fabric
Используется VECTOR_NORM для принятия вектора в качестве входных данных и возвращения нормы вектора (которая является мерой его длины или величины) в заданном типе норм.
Например, если вы хотите вычислить норму Евклиида (который является наиболее распространенным типом норм), можно использовать следующее:
SELECT VECTOR_NORM ( vector, 'norm2' )
FROM ...
Note
VECTOR_NORMдоступен в Управляемом экземпляре SQL Azure с политикой обновлениядаты sql Server 2025 или Always-up-to-date.
Syntax
Соглашения о синтаксисе Transact-SQL
VECTOR_NORM ( vector , norm_type )
Arguments
vector
Выражение, которое оценивает тип векторных данных.
norm_type
Строка с именем типа норм, используемого для вычисления нормы заданного вектора. Поддерживаются следующие типы норм:
-
norm1— 1-норма, которая является суммой абсолютных значений векторных компонентов. -
norm2- 2-норма, также известная как Евклидеан Норм, которая является квадратным корнем суммы квадратов векторных компонентов. -
norminf- Норма бесконечности, которая является максимумом абсолютных значений векторных компонентов.
Возвращаемое значение
Функция возвращает значение с плавающей запятой , представляющее норму вектора с помощью указанного типа норм.
Ошибка возвращается, если norm_type не является допустимым типом норм и если вектор не является типом векторных данных.
Examples
Пример 1
В следующем примере создается вектор с тремя измерениями из строки с массивом 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;
Ожидаемые возвращаемые значения будут:
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;