Spec-Zone.ru › DuckDB

Функции массивов

Все LIST функции работают с типом данных ARRAY массив. Кроме того, поддерживаются несколько ARRAY-нативных функций.

Функции для массивов

Функция Описание
array_value(index) Создать массив, содержащий значения аргументов.
array_cross_product(array1, array2) Вычислить векторное произведение двух массивов размером 3. Элементы массива не могут быть NULL.
array_cosine_similarity(array1, array2) Вычислить косинусное сходство между двумя массивами одинакового размера. Элементы массива не могут быть NULL. Массивы могут иметь любой размер, при условии, что размер совпадает для обоих аргументов.
array_cosine_distance(array1, array2) Вычислить косинусное расстояние между двумя массивами одинакового размера. Элементы массива не могут быть NULL. Массивы могут иметь любой размер, при условии, что размер совпадает для обоих аргументов. Это эквивалентно 1.0 - array_cosine_similarity.
array_distance(array1, array2) Вычислить расстояние между двумя массивами одинакового размера. Элементы массива не могут быть NULL. Массивы могут иметь любой размер, при условии, что размер совпадает для обоих аргументов.
array_inner_product(array1, array2) Вычислить скалярное произведение между двумя массивами одинакового размера. Элементы массива не могут быть NULL. Массивы могут иметь любой размер, при условии, что размер совпадает для обоих аргументов.
array_negative_inner_product(array1, array2) Вычислить отрицательное скалярное произведение между двумя массивами одинакового размера. Элементы массива не могут быть NULL. Массивы могут иметь любой размер, при условии, что размер совпадает для обоих аргументов. Это эквивалентно -array_inner_product.
array_dot_product(array1, array2) Псевдоним для array_inner_product(array1, array2).
array_negative_dot_product(array1, array2) Псевдоним для array_negative_inner_product(array1, array2).

array_value(index)

Описание Создать массив, содержащий значения аргументов.
Пример array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT)
Результат [1.0, 2.0, 3.0]

array_cross_product(array1, array2)

Описание Вычислить векторное произведение двух массивов размером 3. Элементы массива не могут быть NULL.
Пример array_cross_product(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
Результат [-1.0, 2.0, -1.0]

array_cosine_similarity(array1, array2)

Описание Вычислить косинусное сходство между двумя массивами одинакового размера. Элементы массива не могут быть NULL. Массивы могут иметь любой размер, при условии, что размер совпадает для обоих аргументов.
Пример array_cosine_similarity(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
Результат 0.9925833

array_cosine_distance(array1, array2)

Описание Вычислить косинусное расстояние между двумя массивами одинакового размера. Элементы массива не могут быть NULL. Массивы могут иметь любой размер, при условии, что размер совпадает для обоих аргументов. Это эквивалентно 1.0 - array_cosine_similarity.
Пример array_cosine_distance(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
Результат 0.007416606

array_distance(array1, array2)

Описание Вычислить расстояние между двумя массивами одинакового размера. Элементы массива не могут быть NULL. Массивы могут иметь любой размер, при условии, что размер совпадает для обоих аргументов.
Пример array_distance(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
Результат 1.7320508

array_inner_product(array1, array2)

Описание Вычислить скалярное произведение двух массивов одинакового размера. Элементы массивов не могут быть NULL. Массивы могут иметь любой размер, при условии, что размер одинаков для обоих аргументов.
Пример array_inner_product(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
Результат 20.0

array_negative_inner_product(array1, array2)

Описание Вычислить отрицательное скалярное произведение двух массивов одинакового размера. Элементы массивов не могут быть NULL. Массивы могут иметь любой размер, при условии, что размер одинаков для обоих аргументов. Это эквивалентно -array_inner_product
Пример array_inner_product(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
Результат -20.0

array_dot_product(array1, array2)

Описание Псевдоним для array_inner_product(array1, array2).
Пример array_dot_product(l1, l2)
Результат 20.0

array_negative_dot_product(array1, array2)

Описание Псевдоним для array_negative_inner_product(array1, array2).
Пример array_negative_dot_product(l1, l2)
Результат -20.0

© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/sql/functions/array.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API