Как 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 в значение SQL BOOL.

LAX_FLOAT64: пытается преобразовать значение JSON в значение SQL FLOAT64.

LAX_INT64: Попытки преобразовать значение JSON в SQL…