Partager via


Identificateurs

S’applique à :case marquée oui Databricks SQL oui coché Databricks Runtime

Un identificateur est une chaîne utilisée pour identifier un objet tel qu’une table, une vue, un schéma ou une colonne. Azure Databricks prend en charge les identificateurs non délimités (réguliers) et les identificateurs délimités, qui sont placés entre des backticks.

Les identificateurs ne sont pas sensibles à la casse lorsqu’ils sont référencés.

Pour les identificateurs conservés avec un metastore et une source de données, les caractères autorisés peuvent être limités.

Pour plus d’informations sur l’utilisation spécifique des identificateurs, consultez Noms.

Identificateurs non délimités

Syntaxe

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

Remarque

Un identificateur non délimité qui se compose entièrement de chiffres n’est pas valide. Au moins une lettre ou un trait de soulignement doit apparaître.

Paramètres

  • lettre: Toute lettre ASCII A-Z ou a-z.
  • chiffre: Tout chiffre ASCII de 0 à 9.

Remarque

Dans Databricks Runtime, si spark.sql.ansi.enabled et spark.sql.ansi.enforceReservedKeywords sont définis sur true, vous ne pouvez pas utiliser un mot clé réservé ANSI SQL comme identificateur non délimité. Pour plus de détails, voir Conformité ANSI.

Identificateurs délimités

Syntaxe

`c [ ... ]`

Paramètres

  • c: tout caractère du jeu de caractères Unicode. Utilisez ` pour échapper à ` lui-même.

Exemples

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