[英]How to declare a list/array/struct type variable in BigQuery
如何在 BigQuery 中聲明列表類型變量,以便我可以在 where 子句中使用它? 我有這個代碼
WITH
subquery AS (
SELECT
1 AS col1
UNION ALL
SELECT
2 AS col1
UNION ALL
SELECT
3 AS col1 )
SELECT
col1
FROM
subquery
WHERE
col1 IN (1, 2)
相反,我想在查詢中使用變量
DECLARE list ARRAY;
SET list = (1,2);
WITH
subquery AS (
SELECT
1 AS col1
UNION ALL
SELECT
2 AS col1
UNION ALL
SELECT
3 AS col1 )
SELECT
col1
FROM
subquery
WHERE
col1 IN list
我試過 DECLARE list STRUCT [less than] int64,int64 [greater than] 它不接受
試試下面的代碼:
DECLARE list ARRAY <INT64>;
SET list = [1,2];
WITH
subquery AS (
SELECT
1 AS col1
UNION ALL
SELECT
2 AS col1
UNION ALL
SELECT
3 AS col1 )
SELECT
col1
FROM
subquery
WHERE
col1 IN UNNEST(list)
如果您真的想將 DECLARE 與 STRUCT 類型一起使用,或者對於找到這篇文章的其他人,以下語法似乎也有效:
聲明 foo 默認(選擇為結構 2、2、2、2);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.