【问题标题】:Cannot retrieve column in SAP Hana Studio无法在 SAP Hana Studio 中检索列
【发布时间】:2020-03-22 11:43:30
【问题描述】:

我正在使用 HANA 工作室导入一个 .csv 文件,这是我的表格的样子:

这是我的查询的样子:

select outage_start from "PIHPJ"."ji_major_storm"

这是错误信息:

SAP DBTech JDBC: [260]: invalid column name: OUTAGE_START: line 1 col 8 (at pos 7)

如果我改成大写:

select OUTAGE_START from "PIHPJ"."ji_major_storm"

我仍然收到此错误消息:

SAP DBTech JDBC: [260]: invalid column name: OUTAGE_START: line 1 col 8 (at pos 7)

这是怎么回事???我做错了什么?

【问题讨论】:

    标签: sap hana hana-studio


    【解决方案1】:

    这是一个常见的挑战,有很多问题和答案。

    简而言之:如果一个对象已用双引号 (" ") 命名,则该名称不会转换为大写。

    要处理此类对象(表、列、视图等),必须再次使用双引号。

    例如,如果列名为"outage_start",则每次使用此列时都必须使用引号和小写。

    所以:

    select "outage_start" from "PIHPJ"."ji_major_storm"
    

    可能适用于您的情况。

    【讨论】:

    • 谢谢@Lars Br.,将列重命名为 RENAME COLUMN "PIHPJ"."ji_major_storm"."outage_start" TO OUTAGE_START 似乎也有帮助。我们知道 SAP 为何这样做吗?
    • 我们当然知道 SAP 这样做的原因:它是 SQL 标准的一部分,并在 Oracle 等其他 RDBMS 中实施了几十年。主要原因是避免使用与保留字相同的标识符(例如,应避免使用名为sELect 的表)。
    • 当然,SAP HANA 已经记录了这一点...help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.04/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多