Delen via


Identifiers

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Een identifier is een tekenreeks die wordt gebruikt om een object te identificeren, zoals een table, weergave, schemaof column. Azure Databricks biedt ondersteuning voor niet-gescheiden (reguliere) id's en scheidingstekens, die tussen backticks staan.

Id's zijn niet hoofdlettergevoelig wanneer ernaar wordt verwezen.

Voor id's die worden bewaard met een metastore en gegevensbron, kunnen de toegestane tekens worden beperkt.

Zie Namen voor meer informatie over het specifieke gebruik van id's.

Niet-gescheiden id's

Syntaxis

{ letter | '_' } [ letter | digit | '_' ] [ ... ]

Parameters

  • letter: Elke ASCII-letter vanA-Z of .a-z
  • digit: Any ASCIInumal from 0 to 9.

Notitie

Als spark.sql.ansi.enabled en spark.sql.ansi.enforceReservedKeywords in Databricks Runtime zijn set voor true, kunt u geen gereserveerd ANSI SQL-trefwoord gebruiken als een niet-afgebakende identifier. Zie ANSI-naleving voor meer informatie.

Id's met scheidingstekens

Syntaxis

`c [ ... ]`

Parameters

  • c: elk teken uit het Unicode-teken set. Gebruik ` deze functie om te ontsnappen ` .

Voorbeelden

-- 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