Google bigquery 大查询中是否可以使用宏变量?

Google bigquery 大查询中是否可以使用宏变量?,google-bigquery,Google Bigquery,我不熟悉大问题。在我的代码中,我希望能够声明变量名,我可以在表名和where子句中引用。这在大查询中是可能的吗。这样,当我重新运行代码时,我就不必找到要更改的部分。 因此,我希望在我的代码开始时,我可以在每次运行代码时更改它 enter code here Start_date=‘2020-05-01’ End_date=‘2020-06-01’ Selection_Date=‘20200602’ Create table test_selection_date as Select * from

我不熟悉大问题。在我的代码中,我希望能够声明变量名,我可以在表名和where子句中引用。这在大查询中是可能的吗。这样,当我重新运行代码时,我就不必找到要更改的部分。 因此,我希望在我的代码开始时,我可以在每次运行代码时更改它

enter code here
Start_date=‘2020-05-01’
End_date=‘2020-06-01’
Selection_Date=‘20200602’
Create table test_selection_date as Select * from sales Where date>= start_date and date<=End_date;
在此处输入代码
开始日期='2020-05-01'
结束日期='2020-06-01'
选择_Date='20200602'

创建表test\u selection\u date作为Select*from sales,其中date>=start\u date和date下面是用于BigQuery标准SQL的,应该会给您一个良好的开端

DECLARE Start_date, End_date, Selection_Date STRING;
SET (Start_date, End_date, Selection_Date) = ('2020-05-01', '2020-06-01', '20200602');

EXECUTE IMMEDIATE FORMAT(
  "Create table test_%s as Select * from sales Where date>= '%s' and date < = '%s'", 
  Selection_Date, Start_date, End_date
);
声明开始日期、结束日期、选择日期字符串;
设置(开始日期、结束日期、选择日期)=('2020-05-01'、'2020-06-01'、'20200602');
执行即时格式(
“创建表测试%s作为从销售中选择*,其中日期>='%s'和日期<='%s'”,
选择日期、开始日期、结束日期
);

请参阅上面有关调整到实际用例的更多信息

谢谢我使用了您的代码,但当我运行set语句时,会得到未声明的变量start_date,我的代码如下:声明start_date、End_date、Selection_date STRING;设置(开始日期、结束日期、选择日期)=('2020-05-01'、'2020-05-02'、'20200625');执行即时格式(“从sales.customerTransactions创建表kk_analytics.kk_test_%s作为Select*,其中日期>='%s',日期<='%s',选择日期,开始日期,结束日期”);只要再检查一次,它就完全适合我了!