Identifierare

En identifierare är en sträng som används för att identifiera ett databas objekt, till exempel en tabell, vy, schema eller kolumn. Spark SQL har vanliga identifierare och avgränsade identifierare, som är inneslutna i baktick. Både vanliga identifierare och avgränsade identifierare är Skift läges känsliga.

Syntax

Vanliga identifierare

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

Anteckning

Om spark.sql.ansi.enabled är inställt på kan true du inte använda ett ANSI SQL-reserverat nyckelord som en identifierare. Mer information finns i ANSI-kompatibilitet.

Avgränsade identifierare

`c [ , ... ]`

Parametrar

  • Letter: valfri bokstav från a-z eller A-z.
  • siffra: valfri siffra från 0 till 9.
  • c: valfritt Character från teckenuppsättningen. Används ` för att undanta specialtecken (till exempel `.` ).

Exempel

-- This CREATE TABLE fails with ParseException because of the illegal identifier name a.b
CREATE TABLE test (a.b int);
org.apache.spark.sql.catalyst.parser.ParseException:
no viable alternative at input 'CREATE TABLE test (a.'(line 1, pos 20)

-- This CREATE TABLE works
CREATE TABLE test (`a.b` int);

-- This CREATE TABLE fails with ParseException because special character ` is not escaped
CREATE TABLE test1 (`a`b` int);
org.apache.spark.sql.catalyst.parser.ParseException:
no viable alternative at input 'CREATE TABLE test (`a`b`'(line 1, pos 23)

-- This CREATE TABLE works
CREATE TABLE test (`a``b` int);