use*_*179 0 sql snowflake-cloud-data-platform
在雪花中,我试图在选择查询中检索 2 列,但将一个列名作为参数传递。它不是从第二列的数据返回“VALUE”,而是返回我从外部传递的参数的值。
片段:
set col='NAME';
SELECT ID, $col from TABLE;
Run Code Online (Sandbox Code Playgroud)
实际结果:
ID $col
123 NAME
Run Code Online (Sandbox Code Playgroud)
预期结果:
ID $col
123 Mr. X
Run Code Online (Sandbox Code Playgroud)
Snowflake 将变量视为字符串,而不是对象的名称。为此,您需要使用 IDENTIFIER() 函数。尝试这样的事情:
set col='NAME';
SELECT ID, IDENTIFIER($col) from TABLE;
Run Code Online (Sandbox Code Playgroud)
文档中有一些这样的例子,这里有解释:https : //docs.snowflake.com/en/sql-reference/session-variables.html#using-variables-in-sql
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |