Trino-Formatter
Formatiere Trino und Presto SQL mit Trino-Regeln für doppelt in Anführungszeichen gesetzte Bezeichner, Standardzeichenfolgen ohne Backslash-Escapes, X''- und U&''-Literale, Array- und Map-Indizes sowie Lambda-Ausdrücke. Klauseln wie WITH, GROUP BY, ORDER BY, OFFSET und FETCH FIRST erhalten eigene Zeilen; Spalten werden jeweils in einer Zeile eingerückt. Nicht geschlossene Zeichenfolgen und Klammern werden für Analysten mit Zeilen- und Spaltenangabe gemeldet.
Häufig gestellte Fragen
Welche Trino-Syntax wird verstanden?
Zeichenfolgen in einfachen Anführungszeichen mit verdoppelten Anführungszeichen, Bezeichner in doppelten Anführungszeichen sowie X''-Varbinary- und U&''-Unicode-Literale werden erkannt. Indizes wie Array[1] und map['key'] sowie Lambda-Ausdrücke wie x -> x + 1 bleiben erhalten.
Maskieren Backslashes Zeichen in Zeichenfolgen?
Nein. In Trino ist ein Backslash innerhalb einer Zeichenfolge ein gewöhnliches Zeichen. Der Formatter folgt dieser Regel, sodass 'C:\' eine vollständige Zeichenfolge ist.
Kann ich Presto- und Amazon-Athena-Abfragen formatieren?
Ja. Presto und Athena verwenden dieselben Anführungsregeln und größtenteils dieselbe Syntax wie Trino, daher werden ihre Abfragen auf dieselbe Weise formatiert.
Wie werden Katalog- und Schemanamen behandelt?
Qualifizierte Namen wie hive.sales.orders und "my-catalog"."schema"."table" bleiben zusammen. Um die Punkte werden keine Leerzeichen eingefügt.
Welche Klauseln erhalten eine eigene Zeile?
WITH, SELECT, FROM, WHERE, GROUP BY, HAVING, WINDOW, ORDER BY, OFFSET, LIMIT und FETCH beginnen jeweils in einer eigenen Zeile. Die Mengenoperatoren UNION, INTERSECT und EXCEPT trennen die Abfragen, die sie verbinden.
Wird MERGE unterstützt?
Ja. WHEN MATCHED- und WHEN NOT MATCHED-Zweige beginnen jeweils eine neue Zeile.
Ändert das die Groß- und Kleinschreibung von Schlüsselwörtern?
Nein. Schlüsselwörter und Namen behalten die Schreibweise bei, die du eingegeben hast. Nur Leerzeichen und Zeilenumbrüche ändern sich.
Welche Fehler werden erkannt?
Nicht geschlossene Zeichenfolgen, in Anführungszeichen gesetzte Bezeichner, Indizes und Blockkommentare sowie unausgeglichene Klammern werden jeweils mit Zeilen- und Spaltenangabe gemeldet. Abfragen werden auf keinem Cluster ausgeführt.
Wie groß darf die Eingabe sein?
Bis zu 1 MB pro Anfrage und 128 KB pro Anweisung. Mehrere Anweisungen werden durch Leerzeilen getrennt.
Kann ich die Einrückung auswählen, und wird mein SQL gespeichert?
Verwende 2 oder 4 Leerzeichen oder Tabulatoren. Der SQL wird nur im Arbeitsspeicher formatiert und nie gespeichert.