識別子

適用対象: 「はい」のチェック マーク 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.enabledspark.sql.ansi.enforceReservedKeywordstrue に設定されている場合、区切りなしの識別子として 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