Delen via


Identificatoren

Van toepassing op:aangevinkt als 'ja' Databricks SQL aangevinkt als 'ja' Databricks Runtime

Een id is een tekenreeks die wordt gebruikt om een object te identificeren, zoals een tabel, weergave, schema of kolom. Azure Databricks ondersteunt niet-gescheiden (reguliere) id's en scheidingstekens, die tussen backticks staan.

Id's zijn niet hoofdlettergevoelig wanneer ernaar wordt verwezen.

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

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

Niet-afgebakende ID's

Syntaxis

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

Notitie

Een niet-gescheiden id die volledig uit cijfers bestaat, is ongeldig. Er moet ten minste één letter of onderstrepingsteken worden weergegeven.

Parameterwaarden

  • letter: Elke ASCII-letter vanA-Z of .a-z
  • digit: Elk ASCII-cijfer van 0 tot 9.

Notitie

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

Id's met scheidingstekens

Syntaxis

`c [ ... ]`

Parameterwaarden

  • c: elk teken uit de Unicode-tekenset. Gebruik ` om ` zelf te ontsnappen.

Voorbeelden

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