У меня есть следующий запрос на 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?
Предполагая, что ключ 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;
Из документации не должно быть необходимости обрезать двойные кавычки, так как они не появятся в выводе.