小编mik*_*eyz的帖子

如何在 bigquery 中取消嵌套结构数组的字符串?

bigquery 方法:当 option_name 为“labels”时,INFORMATION_SCHEMA.TABLE_OPTIONS 返回 option_value 的结构数组字符串。更多信息在这里:TABLE_OPTIONS例如,我创建表:

CREATE OR REPLACE TABLE sample_dataset.sample_table
OPTIONS(
    labels=[("env","dev"),("dep","hr")]
)
Run Code Online (Sandbox Code Playgroud)

然后我从表中查询:

SELECT * FROM sample_table.INFORMATION_SCHEMA.TABLE_OPTIONS
Run Code Online (Sandbox Code Playgroud)

这将返回以下内容:

[
  {
    "table_catalog": "sample_project",
    "table_schema": "sample_dataset",
    "table_name": "sample_data",
    "option_name": "labels",
    "option_type": "ARRAY<STRUCT<STRING, STRING>>",
    "option_value": "[STRUCT(\"env\", \"dev\"), STRUCT(\"dept\", \"hr\")]"
  }
]
Run Code Online (Sandbox Code Playgroud)

我怎样才能将该表转换为更像:

[
  {
    "table_catalog": "sample_project",
    "table_schema": "sample_dataset",
    "table_name": "sample_data",
    "env": "dev",
    "dept":"hr"

  }
]
Run Code Online (Sandbox Code Playgroud)

我已经尝试了这个堆栈溢出问题的所有答案,但没有成功: Stringified array bigquery

sql google-bigquery

3
推荐指数
1
解决办法
3005
查看次数

标签 统计

google-bigquery ×1

sql ×1