Конвертировать запрос с JSON_EXTRACT из MySQL в BigQuery

0

У меня есть следующий запрос на 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?

Теги:
google-bigquery

1 ответ

1
Лучший ответ

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню