You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery中将重复浮点数字段拆分为多列

解决方案

因为你的数组长度固定为10,完全不需要用UNNEST,直接通过数组偏移量索引提取每个元素即可,同时保留原表所有其他列。

具体SQL示例

假设原表是project.dataset.X,要创建新表project.dataset.new_X,可以用以下语句:

CREATE OR REPLACE TABLE `project.dataset.new_X` AS
SELECT
  -- 保留原表所有其他列
  *,
  -- 提取数组的第1到第10个元素,分别命名为v0到v9
  output[OFFSET(0)] AS v0,
  output[OFFSET(1)] AS v1,
  output[OFFSET(2)] AS v2,
  output[OFFSET(3)] AS v3,
  output[OFFSET(4)] AS v4,
  output[OFFSET(5)] AS v5,
  output[OFFSET(6)] AS v6,
  output[OFFSET(7)] AS v7,
  output[OFFSET(8)] AS v8,
  output[OFFSET(9)] AS v9
FROM `project.dataset.X`;

说明

  • BigQuery中数组的索引从0开始,OFFSET(n)用于获取数组中第n+1个元素(比如OFFSET(0)对应数组第一个元素v0)
  • *会保留原表所有列,包括原来的output字段;如果不需要保留原output字段,可以把*替换成原表除output外的所有列名
  • 如果只是需要查询结果而不是创建新表,去掉CREATE OR REPLACE TABLE ... AS部分即可

内容的提问来源于stack exchange,提问作者Laleh G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 14:15:40