繁体   English   中英

如何在 BigQuery UDF 的 Select 语句中使用字符串参数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM