Google bigquery BigQuery:在函数中定义变量
我试图定义一个简单的标准SQL函数,其中输入乘以函数中定义的常量Google bigquery BigQuery:在函数中定义变量,google-bigquery,Google Bigquery,我试图定义一个简单的标准SQL函数,其中输入乘以函数中定义的常量 CREATE or REPLACE FUNCTION Test(b FLOAT64) RETURNS FLOAT64 AS DECLARE var FLOAT64 = 0.5; RETURN (b * var) ; 语法错误是 Syntax error: Expected "(" or string literal but got keyword DECLARE 如何在函数中定义变量?BigQuery中的
CREATE or REPLACE FUNCTION Test(b FLOAT64)
RETURNS FLOAT64
AS
DECLARE var FLOAT64 = 0.5;
RETURN (b * var)
;
语法错误是
Syntax error: Expected "(" or string literal but got keyword DECLARE
如何在函数中定义变量?BigQuery中的SQL函数不支持变量。其中一个选项是在代码开头声明和设置变量。然后将其作为参数传递给函数
CREATE or REPLACE FUNCTION Test(b FLOAT64)
RETURNS FLOAT64
AS
DECLARE var FLOAT64 = 0.5;
RETURN (b * var)
;
另一种选择是使用J:
BigQuery中的SQL函数不支持变量。其中一个选项是在代码开头声明和设置变量。然后将其作为参数传递给函数
CREATE or REPLACE FUNCTION Test(b FLOAT64)
RETURNS FLOAT64
AS
DECLARE var FLOAT64 = 0.5;
RETURN (b * var)
;
另一种选择是使用J:
使用SQLUDF的BigQuery标准SQL的另一个选项
#standardsql
create or replace function test(b float64)
returns float64 as ((
with variables as (
select 0.5 as var1, 1.5 as var2
)
select b * var1 + var2
from variables
));
如您所见-您可以使用一行中的所有所需变量定义变量CTE使用SQL UDF的BigQuery标准SQL的另一个选项
#standardsql
create or replace function test(b float64)
returns float64 as ((
with variables as (
select 0.5 as var1, 1.5 as var2
)
select b * var1 + var2
from variables
));
如您所见,您可以在一行中定义所有需要的变量CTE