SQL Formatter och beautifier
Klistra in en rörig fråga och få ren SQL med konsekventa indrag. Stöder 17 dialekter, skiftläge för nyckelord och minifiering med ett klick, allt i webbläsaren.
Körs i din webbläsareIngen registreringInget laddas upp
Så använder du SQL-formaterare
- Klistra in en eller flera SQL-satser i inmatningsrutan eller öppna en
.sql-fil. - Välj din databasdialekt så att dess syntax, som
::-casts,[brackets], backticks eller$$-strängar, tolkas korrekt. - Ställ in skiftläge för nyckelord (VERSALER, gemener eller oförändrat), indrag och antal tomrader mellan satser.
- Byt till Minifiera för att ta bort kommentarer och blanktecken för loggar, ORM:er eller URL-parametrar.
- Kopiera resultatet eller ladda ner det som en
.sql-fil.
Varför formatera SQL?
Frågor som kopieras från ORM-loggar, frågeplaner eller applikationskod kommer oftast som en enda lång rad. Att lägga varje sats (SELECT, FROM, JOIN, WHERE, GROUP BY) på en egen rad och dra in kolumner och villkor gör logiken läsbar. Det ger också mindre diffar vid kodgranskning och hjälper dig att upptäcka ett saknat join-villkor eller ett felplacerat OR.
Stilkonventioner för SQL
- Nyckelord med versaler (
SELECT,WHERE) skiljer SQL-syntax från tabell- och kolumnnamn. De flesta stilguider rekommenderar det, även om gemener är populärt i dbt- och analysteam. - En kolumn per rad gör att det blir en diff på en rad att lägga till eller ta bort kolumner.
- Konsekventa indrag (2 eller 4 mellanslag) i satser och underfrågor visar nästlingen direkt.
- Satsavslut: avsluta varje sats med
;så att skript med flera satser blir entydiga.
SQL-dialekter som stöds
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 och TiDB. Om en fråga inte kan tolkas, prova en mer specifik dialekt: @variables, $1-parametrar och leverantörsspecifika operatorer känns bara igen i sin egen dialekt.
Vad minifieraren gör
Minifieringsläget tar bort ---, #- och /* */-kommentarer, slår ihop blanktecken och radbrytningar till enkla mellanslag och tar bort mellanslag runt kommatecken och parenteser. Strängliteraler och citerade identifierare ('…', "…", `…`, […], $$…$$) kopieras byte för byte, så frågans betydelse ändras aldrig.
Vanliga frågor
Skickas min SQL till en server?
Ändrar formateringen vad frågan gör?
Varför får jag ett tolkningsfel på giltig SQL?
::type-casts eller SQL Server för [bracketed]-namn och @params.