You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake中通过RESULT_SCAN查询VALUE列为何报invalid identifier错误?

Snowflake中RESULT_SCAN查询指定列报错的原因及解决方法

问题场景

以下代码可正常执行:

CREATE USER test PASSWORD='test';
DESC USER test;
SELECT * from TABLE(RESULT_SCAN(LAST_QUERY_ID()));

但尝试仅返回单个列时执行以下代码:

CREATE USER test PASSWORD='test';
DESC USER test;
SELECT value from TABLE(RESULT_SCAN(LAST_QUERY_ID()));

会触发报错:

Error: invalid identifier 'VALUE'.

原因分析

Snowflake对标识符的大小写规则是:未用双引号包裹的标识符会被自动转换为大写。而DESC USER返回的结果集里,列名是大小写敏感的小写形式("value")。当你直接写SELECT value时,Snowflake会自动将其转换为SELECT VALUE,但结果集中并不存在大写的VALUE列,因此抛出"无效标识符"的错误。

解决方法

使用双引号包裹列名,严格匹配结果集中列名的大小写即可:

CREATE USER test PASSWORD='test';
DESC USER test;
SELECT "value" from TABLE(RESULT_SCAN(LAST_QUERY_ID()));

如果不确定列名的准确大小写,可以先通过SELECT *查看结果集的列名,再用双引号包裹对应列名进行查询。

内容的提问来源于stack exchange,提问作者SecretIndividual

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:52:24