[英]How to use string argument in Select statement in BigQuery UDF?
这是我的 Google BigQuery UDF 代码。
CREATE OR REPLACE FUNCTION `my_dataset.ST_EXTENT_TABLE`
(tableName STRING)
RETURNS STRUCT<xmin FLOAT64, ymin FLOAT64, xmax FLOAT64, ymax FLOAT64>
AS (
WITH data AS ( SELECT geom FROM tableName)
SELECT ST_EXTENT(geom) AS box FROM data
);
在“SELECT geom FROM tableName”中,tableName 应替换为传递的值。
任何的想法?
根据您的要求,无法在 UDF 中动态传递表名。 作为替代方案,您可以编写一个动态 sql 查询,您可以在其中动态传递表名。 使用立即执行,您可以执行这些动态查询并获得结果。
您可以尝试以下示例查询。
询问:
DECLARE query String;
SET
query = '''with cte as (
select filename from %s limit 10
)
select * from cte''';
EXECUTE IMMEDIATE
FORMAT(query,"bigquery-public-data.bbc_news.fulltext")
Output:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.