Как Google помогает упростить работу с полу- и неструктурированными данными
Две большие новости от BigQuery! Google только что объявил о новых функциях SQL, таких как количественный оператор LIKE
и новая функция JSON. Давайте посмотрим на них!
Начнем с количественного оператора LIKE
, который в настоящее время находится на стадии предварительной версии.
Количественный LIKE
оператор
С помощью количественного оператора LIKE
вы можете проверить значение поиска на соответствие нескольким шаблонам, используя одно из следующих условий[1][2]:
LIKE ANY
: Проверяет соответствие хотя бы одному шаблону.LIKE SOME
: синонимLIKE ANY
.LIKE ALL
: Проверяет, соответствует ли каждый шаблон.
Вот небольшой пример:
WITH Words AS (SELECT ‘Boys will be boys.’ as value UNION ALL SELECT ‘Girls will be girls.’ UNION ALL SELECT ‘She is so girly.’) SELECT * FROM Words WHERE value LIKE ANY (‘Boy%’, ‘%Girls%’);
что дает следующий результат:
Новые функции JSON
В дополнение к количественному оператору LIKE
, который позволяет искать текстовые и полуструктурированные данные, список функций в области типа данных JSON также дополнен.
Здесь Google добавил следующие функции JSON. Хорошей новостью является тот факт, что они уже общедоступны сейчас[1]:
JSON_ARRAY
: создает массив JSON.
JSON_ARRAY_APPEND
: Добавляет данные JSON в конец массива JSON.
JSON_ARRAY_INSERT
: вставляет данные JSON в массив JSON.
JSON_OBJECT
: создает объект JSON.
JSON_REMOVE
: создает JSON с удаленными указанными данными JSON.
JSON_SET
: вставляет или заменяет данные JSON.
JSON_STRIP_NULLS
: Удаляет нули JSON.
LAX_BOOL
: пытается преобразовать значение JSON в значение SQLBOOL
.
LAX_FLOAT64
: пытается преобразовать значение JSON в значение SQLFLOAT64
.
LAX_INT64
: Попытки преобразовать значение JSON в SQL…