識別碼
適用於:Databricks SQL Databricks Runtime
identifier 是字串,用來識別物件,例如 table、檢視、schema或 column。 Azure Databricks 支援非分隔(一般)標識碼和分隔標識碼,這些標識碼會包含在反引號內。
參考時,標識元不區分大小寫。
對於以中繼存放區和數據源保存的標識符,允許的字元可以受到限制。
如需標識元特定使用方式的詳細資訊,請參閱 名稱 。
非分隔標識碼
語法
{ letter | '_' } [ letter | digit | '_' ] [ ... ]
Parameters
-
letter:來自
A
-Z
或a
-z
的任何 ASCII 字母。 -
digit:從 到
0
的任何 ASCII 數位9
。
注意
在 Databricks Runtime 中,如果 spark.sql.ansi.enabled
和 spark.sql.ansi.enforceReservedKeywords
settrue
,則您無法使用 ANSI SQL 保留關鍵詞作為非分隔 identifier。 如需詳細資訊,請參閱 ANSI 合規性。
分隔識別碼
語法
`c [ ... ]`
Parameters
-
c:Unicode 字元 set的任何字元。 用來
`
逸出`
本身。
範例
-- 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