select a,b from t where x=1 and y=2 gaat erin en er komen acht korte, ingesprongen regels uit. Meer doet een SQL-formatter niet, en het scheelt veel turen naar een query van 400 tekens die iemand in een ticket heeft geplakt. Deze dekt 20 dialecten, van standaard-SQL tot PostgreSQL, MySQL, BigQuery en T-SQL.
Plakken, een dialect kiezen, het resultaat lezen
- Plak je query bij SQL-invoer. Het voorbeeld bevat een join met een subquery, een
INSERTen eenUPDATE. - Kies het Dialect. De standaard is Standaard-SQL.
- Stel het Hoofdlettergebruik van sleutelwoorden, de Inspringing en de andere opties in. Elke wijziging maakt meteen opnieuw op.
- Wacht ongeveer 300 ms nadat je hebt getypt, of druk op Opmaken.
- Druk op Kopiëren, of op .sql downloaden om een bestand met de naam
formatted.sqlop te slaan.
Waarom een query in het verkeerde dialect mislukt
Standaard-SQL kent de PostgreSQL-cast a::int niet en leest de T-SQL-naam [dbo].[orders] niet. De formatter stopt dan met een parsefout en de positie van het foute token. Schakel over naar PostgreSQL of SQL Server en dezelfde tekst wordt probleemloos opgemaakt.
Het foutvak toont de melding van de bibliotheek en een hint om het dialect te wijzigen.
Plaatshouders: ?, $1, :naam, @naam
Voorbereide statements bevatten plaatshouders. Standaard-SQL weigert :naam, @naam en $1 tot je een stijl kiest. Als de fout naar een van die wijst, open dan Stijl van plaatshouders en kies de stijl die je driver gebruikt. Alle stijlen accepteert alle vier tegelijk. De plaatshouders blijven in de tekst staan. Er wordt niets door een waarde vervangen.
Opmaakopties voor sleutelwoorden, operatoren en AND / OR
Sleutelwoorden worden hoofdletters, kleine letters of blijven zoals getypt. Inspringing is 2 spaties, 4 spaties of een tab. De Breedte van expressies (50, 80 of 120 tekens) bepaalt hoe lang een expressie tussen haakjes op één regel mag blijven. Je kunt 1 of 2 lege regels tussen query's zetten, de spaties rond operatoren weghalen (a=b) en AND en OR aan het begin of einde van een regel zetten.
Wat de formatter niet doet
Hij wijzigt witruimte en het hoofdlettergebruik van sleutelwoorden. Hij voert de SQL niet uit, kent je tabellen niet en zegt niet of de query juist is. Opmerkingen blijven waar ze zijn en tekst in stringliteralen wordt nooit aangeraakt. Om één blok te laten zoals het is, zet je het tussen /* sql-formatter-disable */ en /* sql-formatter-enable */. De bibliotheek ondersteunt geen stored procedures of een ander scheidingsteken dan ;.
Invoer boven 2.000.000 tekens wordt met een melding geweigerd.
Waar je SQL naartoe gaat
Nergens naartoe. De opmaakbibliotheek is onderdeel van de paginacode en draait in je browser. Opmaken verstuurt geen verzoek, wat je kunt bevestigen in het netwerkpaneel van je browser. Kopiëren gebruikt het klembord en .sql downloaden schrijft een bestand op je eigen apparaat.