【问题标题】:Snowflake Error: SQL compilation error: error line 3 at position 6 invalid identifier 'INTERNAL_ID'雪花错误:SQL 编译错误:位置 6 处的错误行 3 无效标识符 'INTERNAL_ID'
【发布时间】:2021-02-25 18:54:36
【问题描述】:

我在尝试查询视图时遇到了问题。我可以在没有 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的架构

提前感谢您的帮助。

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

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

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

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

    因此:

    SELECT *
    FROM V_WMS_STG_BI_DMLABOR
    WHERE "Internal_ID" = 5587640
    

    应该可以。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 2023-03-26
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    相关资源
    最近更新 更多