Как Snowflake упрощает работу с данными, хранящимися в массивах

При работе со Snowflake SQL вы часто будете сталкиваться с данными, хранящимися в массивах. Здесь Snowflake теперь запускает новые функции, которые могут помочь инженерам по данным и ученым.

Давайте посмотрим на новые функции и на то, как они работают — первая из них — ARRAY_MAX:

МАССИВ_МАКС

Эта функция возвращает элемент с наибольшим значением, которое не является SQL NULL для данного входного массива [1]. Использовать его довольно просто — вот небольшой пример, который вы можете использовать в качестве образца.

SELECT ARRAY_MAX([30, 0, NULL, 20, NULL]);

который выдает следующий результат:

+------------------------------------+
| ARRAY_MAX([20, 0, NULL, 10, NULL]) |
|------------------------------------|
| 30                                 |
+------------------------------------+

МАССИВ_МИН

Еще одна новая функция при работе с полуструктурированными данными — ARRAY_MIN с входным МАССИВОМ. Она возвращает элемент с наименьшим значением, отличным от SQL NULL[1]. Таким образом, он делает прямо противоположное ARRAY_MAX — поэтому имеет смысл, что Snowflake опубликовала их вместе;) Итак, следующий запрос

SELECT ARRAY_MIN([20, 0, NULL, 10, NULL]);

будет производить:

+------------------------------------+
| ARRAY_MIN([20, 0, NULL, 10, NULL]) |
|------------------------------------|
| 0                                  |
+------------------------------------+


МАССИВ_СОРТ

Хотя ARRAY_MAX и ARRA_MIN, возможно, более интересны при анализе данных, третья новая функция ARRAY_SORT также может быть интересна инженерам данных. Он возвращает МАССИВ, содержащий элементы входного МАССИВА, отсортированные в порядке возрастания или убывания[1]. Функция работает со следующими параметрами:

ARRAY_SORT( <array> [ , <sort_ascending> [ …