Identificadores
Aplica-se a: SQL do Databricks Runtime do Databricks
Um identificador é uma cadeia de caracteres usada para identificar um objeto como uma tabela, exibição, esquema ou coluna. O Azure Databricks dá suporte a identificadores não delimitados (regulares) e identificadores delimitados, que são colocados entre acentos graves.
Os identificadores não diferenciam maiúsculas de minúsculas quando referenciados.
Para identificadores persistidos com um metastore e uma fonte de dados, os caracteres permitidos podem ser restritos.
Confira Nomes para obter detalhes sobre o uso específico de identificadores.
Identificadores não delimitados
Sintaxe
{ letter | '_' } [ letter | digit | '_' ] [ ... ]
Parâmetros
- letra: qualquer letra ASCII de
A
-Z
oua
-z
. - dígito: qualquer numeral ASCII de
0
a9
.
Observação
No Databricks Runtime, se spark.sql.ansi.enabled
e spark.sql.ansi.enforceReservedKeywords
estiverem definidos como true
, você não poderá usar uma palavra-chave reservada do SQL do ANSI como um identificador não delimitado. Para obter detalhes, confira Conformidade com ANSI.
Identificadores delimitados
Sintaxe
`c [ ... ]`
Parâmetros
- c: qualquer caractere do conjunto de caracteres Unicode. Use
`
para escapar`
em si.
Exemplos
-- 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