Последнее обновление
L2_DISTANCE
Описание
Вычисляет расстояние между двумя точками в евклидовом пространстве (значения векторов задают координаты)
Синтаксис
L2_DISTANCE(<array1>, <array2>)
Параметры
| Параметр | Описание |
|---|---|
<array1> | Первый вектор (значения вектора задают координаты). Поддерживаемые типы элементов входного массива: TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE. Количество элементов должно совпадать с количеством элементов в array2 |
<array2> | Второй вектор (значения вектора задают координаты). Поддерживаемые типы элементов входного массива: TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE. Количество элементов должно совпадать с количеством элементов в array1 |
Возвращаемое значение
Возвращает расстояние между двумя точками в евклидовом пространстве (значения векторов задают координаты). Тип возвращаемого значения: FLOAT.
Если любой из входных массивов равен NULL или содержит элемент NULL, функция возвращает ошибку.
Пример
SELECT L2_DISTANCE([4, 5], [6, 8]),L2_DISTANCE([3, 6], [4, 5]);
+-----------------------------+-----------------------------+
| l2_distance([4, 5], [6, 8]) | l2_distance([3, 6], [4, 5]) |
+-----------------------------+-----------------------------+
| 3.605551 | 1.414214 |
+-----------------------------+-----------------------------+
Если входной массив равен NULL, функция возвращает ошибку:
SELECT L2_DISTANCE(NULL, [1, 2]);
ERROR 1105 (HY000): errCode = 2, detailMessage = (127.0.0.1)[INVALID_ARGUMENT]First argument for function l2_distance cannot be null
Если входной массив содержит элемент NULL, функция возвращает ошибку:
SELECT L2_DISTANCE([1, NULL], [1, 2]);
ERROR 1105 (HY000): errCode = 2, detailMessage = (127.0.0.1)[INVALID_ARGUMENT]First argument for function l2_distance cannot have null