雪花错误:SQL 编译错误:位置 6 处的错误行 3 无效标识符“INTERNAL_ID”

时间:2021-02-25 18:54:36

标签: snowflake-cloud-data-platform

当我尝试查询视图时遇到问题。我可以在没有 WHERE 子句的情况下成功拉取数据,但是当我添加 WHERE 子句时却失败了。

好的查询:

SELECT *
FROM V_WMS_STG_BI_DMLABOR

查询失败:

SELECT *
FROM V_WMS_STG_BI_DMLABOR
WHERE Internal_ID = 5587640

我尝试向 Internal_ID 和值添加单引号和/或双引号,但没有成功。我向 Internal_ID ('Internal_ID') 添加了单引号,但查询没有返回任何数据。我还在标识符和值中添加了单引号,它删除了错误但没有返回任何数据。

这是应该返回的示例数据。 Sample Data Set

这是视图 Schema

的架构

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您的架构将列显示为 Internal_ID,这意味着您需要使用双引号来告诉雪花不要将列名自动大写,即“Internal_ID”。诀窍是当你把它放在双引号中时,你必须让大小写 100% 正确。

您可以在 UI 编辑器中双击列名,使其通过正确的引号/大小写进入 SQL 编辑器。

该值不需要引号,因为它是一个数字,而单引号用于字符串。

因此:

SELECT *
FROM V_WMS_STG_BI_DMLABOR
WHERE "Internal_ID" = 5587640

应该可以。