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

BigQuery中如何无需UNNEST直接复用声明的数组变量

BigQuery中不用UNNEST复用数值列表的方法

你可以用= ANY()操作符替代IN UNNEST(),这样既能复用声明的数组变量,又不用写UNNEST:

DECLARE
  list ARRAY<INT64> DEFAULT [8335, 9776, 11496];
  
SELECT * FROM `dataset.table` WHERE quantity_sold = ANY(list)

为什么最初的写法报错?

你用(8335, 9776, 11496)这种格式赋值时,BigQuery会把它解析成STRUCT<INT64>类型,而STRUCT无法直接用于IN条件,所以必须用数组[]的格式来声明变量。

补充说明

= ANY(list)和IN UNNEST(list)功能完全等价,都是检查quantity_sold是否存在于数组list中,只是前者写法更简洁,满足你避免使用UNNEST的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:05:21