雪花 - 双引号

时间:2021-05-12 16:39:10

标签: database snowflake-cloud-data-platform

有时当我从雪花中的表中选择一列时,我需要使用双引号或者它区分大小写,但在其他情况下则不需要。

我是 Snowflake 的新手。

  1. 为什么有些列会区分大小写?
  2. 当我在 select 语句中使用列名时,列名中的哪些字符需要我用双引号列出整个列名?

2 个答案:

答案 0 :(得分:1)

<块引用>

为什么有些列区分大小写?

<块引用>

Identifiers

当标识符被双引号引用时,它会完全按照输入的方式进行存储和解析,包括大小写。


<块引用>

当我在 select 语句中使用列名时,列名中的哪些字符需要我用双引号列出整个列名?

[A-Za-z_0-9$] 之外或需要区分大小写的所有内容都需要用 " 引用

<块引用>

未加引号的对象标识符:

  • 以字母(A-Z、a-z)或下划线(“_”)开头。

  • 仅包含字母、下划线、十进制数字 (0-9) 和美元符号 (“$”)。

  • 不区分大小写。

答案 1 :(得分:0)

为什么有些列要区分大小写?

  • 某些列名在从数据源系统中提取时按原样存储,使用双引号允许我们在不改变原始名称映射的情况下提取它们。

当我在 select 语句中使用列名时,列名中的哪些字符需要我用双引号列出整个列名?

  • 当您有专有名词或特殊字符列名或列名中的空格时,您需要用双引号将它们转义

当我们在 select 语句中只使用大写而不使用特殊字符或空格时,在引用它们时不需要使用双引号,但这可能与源系统中的原始列名不同。