为什么以下代码不起作用?
CREATE TEMP FUNCTION udf(max INT64) AS (
ARRAY(SELECT * FROM UNNEST(["foo","bar"]) LIMIT max)
);
SELECT udf(2)
答案 0 :(得分:1)
LIMIT需要使用文字整数
要针对上述查询解决此问题,您可以使用以下解决方法
#standardSQL
CREATE TEMP FUNCTION udf(max INT64) AS (
ARRAY(SELECT item FROM UNNEST(["foo","bar","bar2","bar3"]) item WITH OFFSET WHERE OFFSET < max)
);
SELECT udf(2)