如何将字符串连接到 Snowflake 中的变量 SQL
How to concatenate strings to variables in Snowflake SQL
可以使用 Snowflake variables 确定来源 table,如下所示:
set src='some_table';
select count(*) from $src;
但是,我正在寻找一种方法来提供数据库名称作为变量并将其与 table 名称连接起来。伪代码:
set db='database';
select count(*) from $db.table_name;
我该怎么做?我想将 database
和 table_name
分开(所以设置 dbandtable=database.table_name
不是一个选项)。
好像select something from $src
不行,所以需要使用Snowflaketable literals如下:
select something from table($src)
连接变量的完整示例如下所示:
set s_database='databasename';
set s_table=concat($s_database, '.tablename');
select count(*) from table($s_table);
你也可以使用IDENTIFIER语法,它更通用,你可以在其他地方使用它,比如
SELECT * FROM identifier($s_table);
DESC TABLE identifier($s_table);
可以使用 Snowflake variables 确定来源 table,如下所示:
set src='some_table';
select count(*) from $src;
但是,我正在寻找一种方法来提供数据库名称作为变量并将其与 table 名称连接起来。伪代码:
set db='database';
select count(*) from $db.table_name;
我该怎么做?我想将 database
和 table_name
分开(所以设置 dbandtable=database.table_name
不是一个选项)。
好像select something from $src
不行,所以需要使用Snowflaketable literals如下:
select something from table($src)
连接变量的完整示例如下所示:
set s_database='databasename';
set s_table=concat($s_database, '.tablename');
select count(*) from table($s_table);
你也可以使用IDENTIFIER语法,它更通用,你可以在其他地方使用它,比如
SELECT * FROM identifier($s_table);
DESC TABLE identifier($s_table);