Как теперь вы можете запрашивать массив напрямую по индексу
Google только что объявил, что теперь вы можете использовать оператор индекса массива, который будет возвращать значение в массиве непосредственно по индексу [1].
Так что это довольно удобная функция при работе с полуструктурированными данными, хранящимися в массивах, до этого приходилось использовать смещение и порядковый номер. Я также очень рад тому факту, что эта функция уже общедоступна.
В целом можно сказать, что в будущем ваши запросы можно будет писать немного проще. Вот пример того, как можно все это сформулировать:
WITH Items AS (SELECT [“apple”, “orange”, “melone”] AS item_array) SELECT item_array, item_array[0] AS item_index, --the new feature item_array[OFFSET(0)] AS item_offset, item_array[ORDINAL(1)] AS item_ordinal, item_array[SAFE_OFFSET(6)] AS item_safe_offset FROM Items
В этом примере запроса оператор индекса массива используется для возврата значений в определенной позиции в item_array
. Этот запрос также показывает, что происходит, когда вы ссылаетесь на индекс (6
) в массиве, выходящий за пределы диапазона. Если включен префикс SAFE
, возвращается NULL
, в противном случае выдается ошибка[2].
Итак, на этот раз не большое обновление, а скорее небольшое, которое делает написание запросов при работе с данными, хранящимися в массивах, немного проще. Если вы являетесь пользователем Google BigQuery, статья по ссылке ниже также может быть вам интересна:
Источники и дополнительная литература
[1] Google, Примечания к выпуску BigQuery (2023 г.)
[2] Google, Оператор индекса массива (2023)