我在Big Query表中有记录为
名称值
Aashis [“ AB”,AC“]
拉胡尔[“ AA”,AD“]
“名称和值”列为“字符串类型”
我希望输出为
名称值
Aashis AB
Aashis AC
拉胡尔AA
拉胡尔AD
答案 0 :(得分:2)
以下是用于BigQuery标准SQL
#standardSQL
SELECT name, value
FROM `project.dataset.table`,
UNNEST(value) value
您可以使用下面的问题中的虚拟数据进行测试,操作
#standardSQL
WITH `project.dataset.table` AS (
SELECT 'Aashis' name, ["AB","AC"] value UNION ALL
SELECT 'Rahul', ["AA","AD"]
)
SELECT name, value
FROM `project.dataset.table`,
UNNEST(value) value
有结果
Row name value
1 Aashis AB
2 Aashis AC
3 Rahul AA
4 Rahul AD
更新为:列的值是String类型,并且Unnest接受数组。如何将此列转换为array?
请参见下面的示例
#standardSQL
WITH `project.dataset.table` AS (
SELECT 'Aashis' name, '["AB","AC"]' value UNION ALL
SELECT 'Rahul', '["AA","AD"]'
)
SELECT name, value
FROM `project.dataset.table`,
UNNEST(SPLIT(REGEXP_REPLACE(value, r'^\[|]$', ''))) value
有结果
Row name value
1 Aashis "AB"
2 Aashis "AC"
3 Rahul "AA"
4 Rahul "AD"