Snowflake无法识别在Alteryx中创建的表中的列



我有一个Alteryx工作流,它从雪花表中选择所有内容,向表中添加RecordId列,然后以新名称将结果上传到雪花。

问题是:Snowflake不识别RecordID列。

如果我使用SELECT * FROM NUMBERED_TABLE,它会成功读取整个表,显示每个字段,包括RecordID。

但是如果我尝试用SELECT RECORDID FROM NUMBERED_TABLE选择,我得到的消息是SQL compilation error: error line 1 at position 7 invalid identifier 'RECORDID'

在UI中,Snowflake说这个列确实叫做RECORDID。

尝试重命名列也不工作。它只是说RECORDID列不存在。

我已经尝试通过创建一个基于自身的新表来重新创建表,它仍然不能识别它。

查询是SELECT RECORDID FROM NUMBERED_TABLE,但您注意到几次名称是RecordID

Snowflake对对象名称区分大小写,因此RECORDIDRecordID可以是同一个表中的两个不同列。雪花隐式大写对象名称,因此如果运行查询SELECT RecordID FROM NUMBERED_TABLE,雪花将隐式地将其转换为SELECT RECORDID FROM NUMBERED_TABLE。如果列实际上是RecordID,它将报告找不到RECORDID。如果您有一个混合大小写的列名,防止隐式大写的方法是将对象名称用双引号括起来:

select "RecordID" from NUMBERED_TABLE;

对于Snowflake,大多数ETL合作伙伴将对象名称用引号括起来。我已经看到Alteryx为Snowflake这样做了,所以如果它是源数据库中的RecordID,那么这可能就是这里发生的事情。

相关内容

  • 没有找到相关文章

最新更新