Перейти к содержимому
Последнее обновление

L1_DISTANCE

Описание​

Вычисляет расстояние между двумя точками в пространстве L1 (значения векторов задают координаты)

Синтаксис​

L1_DISTANCE(<array1>, <array2>)

Параметры​

ПараметрОписание
<array1>Первый вектор (значения вектора задают координаты). Поддерживаемые подтипы входного массива: TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE. Количество элементов должно совпадать с количеством элементов в array2
<array2>Второй вектор (значения вектора задают координаты). Поддерживаемые подтипы входного массива: TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE. Количество элементов должно совпадать с количеством элементов в array1

Возвращаемое значение​

Возвращает расстояние между двумя точками (значения векторов задают координаты) в пространстве L1. Тип возвращаемого значения: FLOAT.

Если любой из входных массивов равен NULL или содержит элемент NULL, функция возвращает ошибку.

Пример​

SELECT L1_DISTANCE([4, 5], [6, 8]),L1_DISTANCE([3, 6], [4, 5]);
+-----------------------------+-----------------------------+
| l1_distance([4, 5], [6, 8]) | l1_distance([3, 6], [4, 5]) |
+-----------------------------+-----------------------------+
| 5 | 2 |
+-----------------------------+-----------------------------+

Если входной массив равен NULL, функция возвращает ошибку:

SELECT L1_DISTANCE(NULL, [1, 2]);
ERROR 1105 (HY000): errCode = 2, detailMessage = (127.0.0.1)[INVALID_ARGUMENT]First argument for function l1_distance cannot be null

Если входной массив содержит элемент NULL, функция возвращает ошибку:

SELECT L1_DISTANCE([1, NULL], [1, 2]);
ERROR 1105 (HY000): errCode = 2, detailMessage = (127.0.0.1)[INVALID_ARGUMENT]First argument for function l1_distance cannot have null