識別子
適用対象: Databricks SQL Databricks Runtime
識別子は、テーブル、ビュー、スキーマ、列などのオブジェクトを識別するために使用する文字列です。 Azure Databricks は区切りなし (標準) の識別子と、区切られた識別子をサポートしており、それらはバッククォートで囲まれます。
識別子は、参照されるとき、大文字と小文字が区別されません。
メタストアとデータ ソースで保持される識別子の場合、許可される文字を制限できます。
識別子の具体的な使用方法の詳細については、「名前」を参照してください。
区切りなしの識別子
構文
{ letter | '_' } [ letter | digit | '_' ] [ ... ]
パラメーター
- letter:
A
-Z
またはa
-z
の任意の ASCII 文字。 - digit:
0
から9
までの任意の ASCII 数字。
Note
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