Command Palette

Search for a command to run...

SQ

SQL-formatter

Formatteer rommelige SQL in leesbare, ingesprongen query's of verklein SQL tot een enkele regel

Wat is SQL-formatter?

SQL Formatter verandert dichte, enkelregelige of inconsistent geschreven SQL in leesbare, reviewvriendelijke query's Het zet elke hoofdclausule - SELECT, FROM, WHERE, JOINS, GROUP BY, ORDER BY, HAVING, LIMIT, UNION - op zijn eigen regel, breekt SELECT-kolommen op afzonderlijke regels, inkepingen EN/OF voorwaarden onder hun clausule, en normaliseert de behuizing van trefwoorden naar boven of onder Het resultaat is het soort lay-out dat u zou willen in een codebeoordeling: een query van 400 tekens uit een ORM-log wordt een structuur die u kunt scannen op de ontbrekende join-voorwaarde.

Als SQL query formatter neemt het een regel als selecteer top 10 [Order ID], totaal van dbo.[Order Details] waarbij totaal > 100 en status = 'open' en retourneert SELECT TOP 10 op de eerste regel, [Order ID] en totaal op hun eigen ingesprongen regels, dan VAN, dan WAAR met de AND voorwaarde ingesprongen onder het SQL Server gebruikers kunnen het behandelen als een SQL-formatter voor SSMS: formatteer de T-SQL in deze online SQL-formatter, plak het dan terug in SQL Server Management Studio Het is een webpagina, geen SSMS-extensie, dus er is niets te installeren.

Onder de motorkap is het een echte tokenizer, geen stapel zoek-en-vervangen regels. Letterlijke tekenreeksen (inclusief dubbel geciteerde en backslash-ontsnappingen), dubbel geciteerde en backtick-geciteerde identifiers, SQL Server-ID's tussen haakjes, nummers, operators en beide commentaarstijlen (-- lijn en /* blok */) worden gelieerd als atomic-tokens voordat een lay-outbeslissing wordt genomen. Dat betekent dat een kolomwaarde zoals 'Select * From Users' in een string nooit wordt aangezien voor een clausule, en opmaak kan witruimte herstructureren zonder ooit letterlijke inhoud te beschadigen.

De Minify-modus doet het tegenovergestelde: het vouwt een geformatteerde query samen tot één regel - het laten vallen van reacties, het bewaren van elke letterlijke byte-voor-byte - wat handig is voor het inpakken van logboeken, het inpakken van query's in JSON-payloads of .env-bestanden en het vergelijken van queryvormen Alles draait aan de clientzijde in uw browser, dus productiequery's met tabellenamen, klantgegevens in letterlijke bestanden of schemadetails worden nooit ergens geüpload, geregistreerd of opgeslagen.

Formatteren is gebaseerd op tokenizers in plaats van op regex gebaseerd, dus letterlijke tekenreeksen en opmerkingen die SQL-zoekwoorden bevatten, worden niet opnieuw geformatteerd alsof ze code zijn. Dialecten verschillen nog steeds op een manier die geen formatter kan beslechten, vooral rond het citeren van identificatiegegevens, dus de uitvoer is genormaliseerd in plaats van gegarandeerd draagbaar.

Hoe gebruik je SQL-formatter?

  1. Plak je SQL

    Drop in een query - een one-liner uit een ORM-debug-logboek, een met de hand geschreven rapportquery of een script met meerdere verklaringen gescheiden door puntkomma's.

  2. Kies trefwoordcase en inspringing

    Kies hoofdletters of kleine letters voor trefwoorden en 2, 4 of 8 inspringingsruimten die overeenkomen met uw teamconventies.

  3. Klik op Formaat of verkleinen

    Formaat produceert clausule-per-regeluitvoer met geselecteerde kolommen op hun eigen lijnen en/of condities ingesprongen. Minify vouwt alles samen tot een enkele regel met verwijderde opmerkingen en letterlijke onaangeroerde opmerkingen.

  4. Kopiëren of downloaden

    Kopieer het resultaat naar uw klembord voor een codebeoordelings- of migratiebestand of download het als een .sql-bestand.

Belangrijkste kenmerken

  • Op tokenizers gebaseerd, letterlijk veilig

    Letterlijke tekenreeksen, geciteerde identifiers en opmerkingen worden eerst uitgelezen - opmaak kan nooit gegevens in aanhalingstekens wijzigen

  • Clausule-bewuste regeleinden

    Selecteer, van, waar, sluit je aan bij varianten, groepeer op, volg de, limiet en voeg elk een nieuwe regel op, met subquery's die zijn ingesprongen door nestdiepte

  • normalisatie van het trefwoordca

    Een uitgebreide trefwoordenlijst (DML, DDL, functies, typen) wordt geconverteerd naar hoofdletters of kleine letters; identifiers worden precies zoals geschreven

  • Eén geselecteerde kolom per regel

    Door komma's gescheiden geselecteerde lijsten breken op individuele ingesprongen lijnen, waardoor brede zoekopdrachten diffable in pull-verzoeken

Frequently Asked Questions

Ja. De tokenizer begrijpt de syntaxis die beide dialecten delen plus hun quoting-verschillen: BackTick-ID's en backslash-tekenreeksen voor MySQL, dubbel geciteerde identifiers, :: Casts en Json-operators zoals -> en ->> voor PostgreSQL. tussen haakjes [ Identifiers] van SQL Server worden ook afgehandeld. Dialectspecifieke uitspraken die het niet herkent, zijn nog steeds veilig geformatteerd, omdat onbekende tokens onaangeroerd worden doorgegeven.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

sql formatterformat sqlsql beautifiersql pretty printsql minifierformat sql query onlinesql indentationuppercase sql keywordsmysql formatterpostgresql formattersql query formattersql formatter onlineonline sql formattersql formatter for ssms