sql - BigQuery,将字符串转换为数组

标签 sql google-bigquery

我在 BigQuery 中有下表:

<表类=“s-表”> <标题> 一个 B <正文> 第一 [乔、贝基、史密斯] 第二个 [乔,马修]

B 列的类型为“STRING”

我想将 B 列转换为 ARRAY 的大查询数组

我尝试使用JSON_EXTRACT_ARRAY但这不起作用,因为 B 数组内的元素没有用双引号 (") 括起来(即它们不是 ["joe", "becky", "smith"] 形式)

最佳答案

考虑下面

select a, 
  array(select trim(val) from unnest(split(trim(b, '[]'))) val) b
from `project.dataset.table`           

当应用于问题中的示例数据时 - 输出为

enter image description here

关于sql - BigQuery,将字符串转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66463287/

相关文章:

sql - Hive row_number() 中的自定义排序通过窗口函数的顺序进行分区

mysql - 如何将两个表连接在一起以在mysql中获得以下结果

sql - 对 BigQuery 分区中的行进行重复数据删除

google-bigquery - 无法在不同位置处理数据

google-bigquery - BigQuery 数组 UNNEST 以返回数组中的不同值?

SQL 语法错误 : "Missing Right Parenthesis"

java - SQL 命令未正确结束

sql - 调用 'Fill' 之前 SelectCommand 属性尚未初始化

sql - 计算 BigQuery 重复字段中的值

authentication - 如何使用不同的服务帐户凭据对 google API 进行身份验证?