適用対象:
Databricks SQL
Databricks Runtime
識別子は、テーブル、ビュー、スキーマ、列などのオブジェクトを識別するために使用する文字列です。 Azure Databricksでは、非区切り (標準) 識別子と区切り識別子がサポートされます。これはバックティックで囲まれています。
識別子は、参照されるとき、大文字と小文字が区別されません。
メタストアとデータ ソースで保持される識別子の場合、許可される文字を制限できます。
識別子の具体的な使用方法の詳細については、「名前」を参照してください。
区切りなしの識別子
構文
{ letter | digit | '_' } [ ... ]
Note
完全に数字で構成される区切り記号のない識別子は無効です。 少なくとも 1 文字またはアンダースコアを使用する必要があります。
パラメーター
-
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 文字セットの任意の文字。
`自体をエスケープするには、`を使用します。
例
-- 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