Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我可以将字符串化数组的行值转换为BigQuery中的数组吗_Sql_Google Bigquery - Fatal编程技术网

Sql 我可以将字符串化数组的行值转换为BigQuery中的数组吗

Sql 我可以将字符串化数组的行值转换为BigQuery中的数组吗,sql,google-bigquery,Sql,Google Bigquery,我有一行,它的值是数组的字符串。我需要把它转换成数组 我试图通过使用SUBSTR函数剥离报价来转换它 WITH k AS (SELECT 1 as id, (SELECT after.ClientIds FROM `kube-playground.events.login_v2_users`) AS c) Select id, ARRAY(SELECT * FROM UNNEST(SPLIT(SUBSTR(c, 2 , LENGTH(c) - 2)))) AS x from k 它失

我有一行,它的值是数组的字符串。我需要把它转换成数组

我试图通过使用
SUBSTR
函数剥离报价来转换它

WITH k AS (SELECT 1 as id, (SELECT after.ClientIds   
FROM `kube-playground.events.login_v2_users`) AS c)

Select id, ARRAY(SELECT * FROM UNNEST(SPLIT(SUBSTR(c, 2 , LENGTH(c) - 2)))) AS x from k

它失败,因为标量子查询生成了多个元素。对这个问题有什么建议或想法吗?谢谢

下面是BigQuery标准SQL

您可以简单地使用下面的示例

#standardSQL
SELECT JSON_EXTRACT_ARRAY(ClientIds)
FROM `kube-playground.events.login_v2_users`
您可以按如下所示进行测试

#standardSQL
WITH `kube-playground.events.login_v2_users` AS (
  SELECT '[{"time":"asd", "id":"qwe"},{"time":"asd2", "id":"qwe2"},{"time":"asd3", "id":"qwe3"}]' ClientIds UNION ALL
  SELECT '[{"time":"aseft", "id":"sdf"},{"time":"aseft2", "id":"sdf2"}]'
)
SELECT JSON_EXTRACT_ARRAY(ClientIds)
FROM `kube-playground.events.login_v2_users`
结果

Row f0_  
1   {"time":"asd","id":"qwe"}    
    {"time":"asd2","id":"qwe2"}  
    {"time":"asd3","id":"qwe3"}  
2   {"time":"aseft","id":"sdf"}  
    {"time":"aseft2","id":"sdf2"}