BigQuery JSON Извлечение поля - PullRequest
0 голосов
/ 05 марта 2019

У меня есть следующая полезная нагрузка JSON, хранящаяся в одном столбце строки в таблице BQ.

{
"customer" : "ABC Ltd",
"custom_fields" : [
     {
      "name" : "DOB",
      "value" : "2000-01-01"
     },
     {
      "name" : "Account_Open_Date",
      "value" : "2019-01-01"
     }
]
}

Я пытаюсь выяснить, как можно извлечь пары значений имени custom_fields в виде столбцов?

Примерно так.

| Customer.name    | Customer.DOB    | Customer.Account_Open_Date |

| ABC Ltd          | 2000-01-01      | 2019-01-01                 |

1 Ответ

0 голосов
/ 05 марта 2019

Вы можете использовать json-функции , например

JSON_EXTRACT(json_string_expr, json_path_string_literal)

В вашем случае будет

SELECT 
JSON_EXTRACT(json_text, '$.customer') as Customer.Name,
JSON_EXTRACT(json_text, '$.custom_fields[0].value') as Customer.DOB,
JSON_EXTRACT(json_text, '$.custom_fields[1].value') as Customer.Account_Open_Date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...