識別碼
適用於: Databricks SQL Databricks Runtime
標識元是用來識別物件,例如數據表、檢視表、架構或數據行的字串。 Azure Databricks 支援非分隔(一般)標識碼和分隔標識碼,這些標識碼會包含在反引號內。
參考時,標識元不區分大小寫。
對於以中繼存放區和數據源保存的標識符,允許的字元可以受到限制。
如需標識元特定使用方式的詳細資訊,請參閱 名稱 。
非分隔標識碼
語法
{ letter | '_' } [ letter | digit | '_' ] [ ... ]
參數
- letter:來自-
Z
A
或a
-z
的任何 ASCII 字母。 - digit:從 到
9
的任何 ASCII 數位0
。
注意
在 Databricks Runtime 中,如果 spark.sql.ansi.enabled
和 spark.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