SQL Formatter & Beautifier
Füge eine unübersichtliche Abfrage ein und erhalte sauberes, einheitlich eingerücktes SQL. Mit 17 Dialekten, Keyword-Schreibweise und Minifier per Klick, alles in deinem Browser.
Läuft im BrowserOhne AnmeldungKein Upload
Anleitung: SQL Formatter
- Füge eine oder mehrere SQL-Anweisungen in das Eingabefeld ein oder öffne eine
.sql-Datei. - Wähle deinen Datenbankdialekt, damit dessen Syntax wie
::-Casts,[Klammern], Backticks oder$$-Strings korrekt geparst wird. - Lege die Schreibweise der Keywords (GROSS, klein oder beibehalten), die Einrückung und die Anzahl der Leerzeilen zwischen Anweisungen fest.
- Wechsle zu Minifizieren, um Kommentare und Leerraum für Logs, ORMs oder URL-Parameter zu entfernen.
- Kopiere das Ergebnis oder lade es als
.sql-Datei herunter.
Warum SQL formatieren?
Abfragen aus ORM-Logs, Query-Plänen oder Anwendungscode kommen meist als eine lange Zeile an. Jede Klausel (SELECT, FROM, JOIN, WHERE, GROUP BY) in eine eigene Zeile zu setzen und Spalten und Bedingungen einzurücken, macht die Logik lesbar. Außerdem werden Diffs im Code-Review kleiner, und du erkennst leichter eine fehlende Join-Bedingung oder ein falsch platziertes OR.
SQL-Stilkonventionen
- Keywords in Großbuchstaben (
SELECT,WHERE) heben die SQL-Syntax von Tabellen- und Spaltennamen ab. Die meisten Styleguides empfehlen das, in dbt- und Analytics-Teams ist Kleinschreibung aber ebenfalls verbreitet. - Eine Spalte pro Zeile macht das Hinzufügen oder Entfernen von Spalten zu einem einzeiligen Diff.
- Einheitliche Einrückung (2 oder 4 Leerzeichen) innerhalb von Klauseln und Unterabfragen zeigt die Verschachtelung auf einen Blick.
- Abschluss von Anweisungen: Beende jede Anweisung mit
;, damit Skripte mit mehreren Anweisungen eindeutig sind.
Unterstützte SQL-Dialekte
Standard-SQL, PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, Trino/Presto, Hive, IBM Db2, Couchbase N1QL, SingleStore und TiDB. Lässt sich eine Abfrage nicht parsen, probiere einen spezifischeren Dialekt: @variables, $1-Parameter und herstellerspezifische Operatoren werden nur in ihrem eigenen Dialekt erkannt.
Was der Minifier macht
Der Minify-Modus entfernt Kommentare mit --, # und /* */, fasst Leerraum und Zeilenumbrüche zu einzelnen Leerzeichen zusammen und entfernt Leerzeichen um Kommas und Klammern. String-Literale und gequotete Bezeichner ('…', "…", `…`, […], $$…$$) werden Byte für Byte übernommen, die Bedeutung der Abfrage ändert sich also nie.
Häufig gestellte Fragen
Wird mein SQL an einen Server gesendet?
Ändert die Formatierung, was die Abfrage tut?
Warum bekomme ich bei gültigem SQL einen Parse-Fehler?
::type-Casts oder SQL Server für [bracketed]-Namen und @params.