識別碼

適用於:檢查標示為是 Databricks SQL 檢查標示為是 Databricks Runtime

標識元是用來識別物件,例如數據表、檢視表、架構或數據行的字串。 Azure Databricks 支援非分隔(一般)標識碼和分隔標識碼,這些標識碼會包含在反引號內。

參考時,標識元不區分大小寫。

對於以中繼存放區和數據源保存的標識符,允許的字元可以受到限制。

如需標識元特定使用方式的詳細資訊,請參閱 名稱

非分隔標識碼

語法

{ letter | '_' } [ letter | digit | '_' ] [ ... ]

參數

  • letter:來自-ZAa-z的任何 ASCII 字母。
  • digit:從 到 9的任何 ASCII 數位0

注意

在 Databricks Runtime 中,如果 spark.sql.ansi.enabledspark.sql.ansi.enforceReservedKeywords 設定為 true,則您無法使用 ANSI SQL 保留關鍵詞作為非分隔標識符。 如需詳細資訊,請參閱 ANSI 合規性

分隔識別碼

語法

`c [ ... ]`

參數

  • c:Unicode 字元集中的任何字元。 用來 ` 逸出 ` 本身。

範例

-- This statement fails because the undelimited identifier uses a non-ASCII letter.
> DESCRIBE SELECT 5 AS Ä;
 INVALID_IDENTIFIER

-- You can delimit the identifier to use a non-ASCII letter
> DESCRIBE SELECT 5 AS `Ä`;
 Ä

-- An identifier with dash needs to be delimited
> DESCRIBE SELECT 5 AS `a-b`;
 a-b

-- An identifier with a space needs to be delimited
> DESCRIBE SELECT 5 AS `a b`;
 a b

-- An identifier with a special character needs to be delimited
> DESCRIBE SELECT 5 AS `a@b`;
 a@b

-- An identifier with a Chinese character needs to be delimited
> DESCRIBE SELECT 5 AS `a中b`;
 a中b

-- An identifier with a backtick needs to be delimited and escaped.
> DESCRIBE SELECT 5 AS `a``b`;
 a`b