如何在 Snowflake SQL 中将字符串连接到变量

Mar*_*uro 8 snowflake-cloud-data-platform

可以使用 Snowflake变量来确定源表,如下所示:

set src='some_table';
select count(*) from $src;
Run Code Online (Sandbox Code Playgroud)

但是,我正在寻找一种方法来提供数据库名称作为变量并将其与表名称连接起来。伪代码:

set db='database';
select count(*) from $db.table_name; 
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我想保留databasetable_name分开(所以设置dbandtable=database.table_name不是一个选项)。

Mar*_*ski 6

您还可以使用IDENTIFIER语法,它更通用,您可以在其他地方使用它,例如

SELECT * FROM identifier($s_table);
DESC TABLE identifier($s_table);
Run Code Online (Sandbox Code Playgroud)