Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime
Reservierte Wörter sind Literale, die von der SQL-Sprache als Schlüsselwörter verwendet werden und nicht als Bezeichner eingesetzt werden sollten, um ein unerwartetes Verhalten zu vermeiden.
Reservierte Schemanamen haben eine besondere Bedeutung für Azure Databricks.
Reservierte Wörter
Azure Databricks verbietet formal nicht, dass bestimmte Literale als Bezeichner verwendet werden.
Wenn Sie jedoch einen Bezeichner in der folgenden Liste als Tabellenalias verwenden möchten, müssen Sie den Namen in Graviszeichen (`) setzen.
- ANTI
- CROSS
- EXCEPT
- FULL
- INNER
- INTERSECT
- JOIN
- LATERAL
- LEFT
- MINUS
- NATURAL
- EIN
- RIGHT
- SEMI
- UNION
- USING
Spezielle Wörter in Ausdrücken
Die folgende Liste von Bezeichnern kann überall verwendet werden. Sie werden von Azure Databricks jedoch in bestimmten Kontexten in Ausdrücken vorzugsweise wie Schlüsselwörter behandelt:
NULLDer SQL-Wert
NULL.DEFAULTGibt einen Spaltenstandard an.
TRUEDer boolesche SQL-Wert
true.FALSEDer boolesche SQL-Wert
false.LATERALWird als Spaltenqualifizierer verwendet, um eine explizite laterale Korrelation anzugeben.
Verwenden Sie Graviszeichen (NULL und DEFAULT), oder qualifizieren Sie die Spaltennamen mit einem Tabellennamen oder Alias.
Azure Databricks verwendet das Präfix CURRENT_, um auf einige Konfigurationseinstellungen oder andere Kontextvariablen zu verweisen.
Das Unterstrichpräfix (_) ist für Pseudospalten von Azure Databricks vorgesehen.
In Databricks Runtime ist eine vorhandene Pseudospalte die _metadata-Spalte.
Bezeichner mit diesen Präfixen werden vorzugsweise nicht bearbeitet. Vermeiden Sie jedoch Spalten oder Spaltenaliase, die diese Präfixe verwenden, um ein unerwartetes Verhalten zu vermeiden.
Namen des reservierten Katalogs
Azure Databricks reserviert die folgende Liste von Katalognamen für aktuelle und zukünftige Verwendung:
- Katalognamen, die mit
SYSbeginnen - Katalognamen, die mit
DATABRICKSbeginnen
Vermeiden Sie die Verwendung dieser Namen.
Reservierte Schemanamen
Azure Databricks reserviert die folgende Liste von Schemanamen für aktuelle und zukünftige Verwendung:
BUILTINZukünftige Verwendung zum Qualifizieren von integrierten Funktionen.
SESSIONZukünftige Verwendung zum Qualifizieren temporärer Sichten und Funktionen.
INFORMATION_SCHEMAEnthält das SQL Standard-Informationsschema.
Schemanamen, die mit
SYSoderDATABRICKSbeginnen
Vermeiden Sie die Verwendung dieser Namen.
Reservierte Wörter in ANSI
Azure Databricks erzwingt keine reservierten ANSI-Wörter. Die folgende Liste der SQL2016-Schlüsselwörter dient lediglich zu Informationszwecken.
Eine Datei
ALL, ALTER, AND, ANY, ARRAY, AS, AT, AUTHORIZATION
b
ZWISCHEN, BEIDE, DURCH
C
CASE, CAST, CHECK, COLLATE, COLUMN, COMMIT, CONSTRAINT, CREATE, CROSS, CUBE, CURRENT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER
D
DELETE, DESCRIBE, DISTINCT, DROP
E
ELSE, END, ESCAPE, EXCEPT, EXISTS, EXTERNAL, EXTRACT
F
FALSCH, ABRUFEN, FILTER, FÜR, FREMD, VON, VOLL, FUNKTION
G
GLOBAL, GRANT, GROUP, GRUPPIERUNG
H
HAVING
I
IN, INNER, INSERT, INTERSECT, INTERVAL, INTO, IS
J
JOIN
L
FÜHREND, LINKS, WIE, LOKAL
N
NATURAL, NO, NOT, NULL
O
VON, AUF, NUR, ODER, REIHENFOLGE, HERAUS, ÄUSSERER, ÜBERSCHNEIDUNGEN
P
PARTITION, Position, Primär
R
RANGE, REFERENCES, REVOKE, RIGHT, ROLLBACK, ROLLUP, ROW, ROWS
S
SELECT, SESSION_USER, , SETSOME, START
T
TABLE, TABLESAMPLEDANN, ZEIT, BIS, ANHÄNGEN, WAHR, TRUNKIEREN
U
UNION, UNIQUE, UNKNOWN, UPDATE, USER, USING
V
VALUES
W
WENN, WHERE, WINDOWMIT
Beispiele
-- Using SQL keywords
> CREATE TEMPORARY VIEW where(where) AS (VALUES (1));
> SELECT where from FROM where select;
1
-- Usage of NULL
> SELECT NULL, `null`, T.null FROM VALUES(1) AS T(null);
NULL 1 1
-- current_date is eclipsed by the column alias T.current_date
> SELECT (SELECT current_date), current_date, current_date()
FROM VALUES(1) AS T(current_date);
2021-10-23 1 2021-10-23
-- Reserved keyword ANTI cannot be used as table alias
> SELECT * FROM VALUES(1) AS ANTI;
Error in query: no viable alternative at input 'ANTI'
> SELECT * FROM VALUES(1) AS `ANTI`;
1