雪花:SELECT "COLUMN" 带双引号

Snowflake: SELECT "COLUMN" with double quotes

我有一个客户,他们的 Snowflake 实例要求列名称带有双引号。示例:SELECT "CategoryName" 来自 "lk_category" ; 有谁知道如何关闭此功能?

Snowflake documentation 确实对标识符做了一些解释。

关键点是 引用的标识符 必须完全按照它们的定义来引用。所以,以下是不同的:

"ABC"
"abc"
"Abc"

不带引号的标识符不区分大小写,因此以下相同:

ABC
abc
Abc

作为奖励,这些也等同于:

"ABC"

因为 Snowflake 使用大写字母解析不带引号的标识符。

如果数据库已经用带引号的标识符创建。 . .好吧,你可以着手改变它。

Snowflake 已确定这是一个问题。您可以通过设置 QUOTED_IDENTIFIERS_IGNORE_CASE 参数来关闭引用的行为。

针对您的问题:

SELECT """CategoryName""" FROM lk_category

……就是答案。我对双数据透视表也有类似的问题。

请使用以下方式检查:

Describe View/Table Table/View_Name

我们将获得列名称列表,如果存在带双引号的字段名称 Ex:"Name"。

然后 select 我们应该使用额外的引号作为转义字符。