Конвертировать запрос с JSON_EXTRACT из MySQL в BigQuery - PullRequest
0 голосов
/ 05 февраля 2019

У меня следующий запрос на MySQL:

    SELECT COALESCE(
                TRIM(BOTH '"' FROM JSON_EXTRACT(fb.p_dataforanalytics,'$.gender')),   
                TRIM(BOTH '"' FROM JSON_EXTRACT(g.p_dataforanalytics,'$.gender'))                                                       
                ) as chosen_gender
   FROM ...

это работает на MySQL, но не работает на BigQuery:

Синтаксическая ошибка: ожидается ")", нополучил строковый литерал '"'

Есть проблема с TRIM / JSON_EXTRACT.

Как я могу это сделать в BigQuery?

1 Ответ

0 голосов
/ 05 февраля 2019

Если предположить, что клавиша gender указывает на одно скалярное значение, тогда вам может понадобиться функция JSON_EXTRACT_SCALAR BigQuery:

SELECT
    COALESCE(JSON_EXTRACT_SCALAR(fb.p_dataforanalytics, "$.gender"),
             JSON_EXTRACT_SCALAR(g.p_dataforanalytics, "$.gender")) AS chosen_gender
FROM yourTable;

Из документации естьне должно быть необходимости обрезать двойные кавычки, так как они не будут отображаться в выводе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...