識別碼

適用於:核取記號為「是」Databricks SQL 核取記號為「是」Databricks Runtime

標識元是用來識別物件,例如數據表、檢視表、架構或數據行的字串。 Azure Databricks 支援非分隔(常規)識別碼與分隔識別碼,這些識別碼包含在回溯索引中。

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

對於透過元儲存庫和資料來源持續存在的識別碼,允許的字元可以被限制。

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

非分隔標識碼

語法

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

注意

完全由數字組成的非分隔識別碼則無效。 至少必須出現一個字母或底線。

參數

  • letter:來自A-Za-z的任何 ASCII 字母。
  • digit:任何從09的 ASCII 數字。

注意

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

定界識別符

語法

`c [ ... ]`

參數

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

範例

-- An identifier can start with a digit
> DESCRIBE SELECT 5 AS 1st;
 1st

-- 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