🌐 DA

🗄️ SQL-formater

Formatér generel SQL med linjeskift efter klausuler og indrykning. Understøttet SQL kan minimeres til én linje; kommentarer fjernes ved minimering. Store bogstaver i nøgleord er valgfrit.

Eksempler

Dette værktøj formaterer SQL, men validerer den ikke, bekræfter ikke databasespecifik kompatibilitet og kontrollerer ikke forespørgslens betydning.

SQL behandles kun på denne enhed.

GUIDE

Læs mere

01

1. Hvorfor formatere SQL

SQL på én linje eller SQL genereret af ORM'er bliver svær at læse, når joins hober sig op. Når den opdeles i klausuler (SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY osv.) med ensartet indrykning, bliver det straks tydeligt, hvilke tabeller der joines på hvilke betingelser, og hvilke filtre WHERE anvender, så code review og fejlfinding går hurtigere.

02

2. Sådan formaterer værktøjet

Formatteren starter en ny linje før klausuler som SELECT, FROM, WHERE og JOIN og indrykker AND og OR ét niveau for at skille betingelserne ad. Lister, der er adskilt med kommaer, placeres på hver sin linje, og indhold i parenteser får endnu et indrykningsniveau. Det er en tokenbaseret formatter, ikke en SQL-validator eller en parser til alle dialekter. Syntaks, som ikke kan bevares sikkert, for eksempel navngivne parametre eller leverandørspecifikke litteraler, giver en fejl. Hvis det sker, skal du ikke ændre forespørgslen, men bruge originalen i et SQL-værktøj, der understøtter syntaksen.

03

3. Minificering og hvornår den skal bruges

Minificering fjerner kommentarer og samler unødvendige mellemrum/linjeskift til én linje. Praktisk til logning af en forespørgsel, til at gøre lagrede procedurer/migrationsscripts mindre eller til at indsætte en énlinjesforespørgsel i et andet værktøj. Indhold i strengliteraler (anførte værdier) bevares præcist, så dine dataværdier aldrig ændres.

Ofte stillede spørgsmål

Understøtter det alle SQL-dialekter (MySQL, PostgreSQL, Oracle osv.)?
Nej. Dette værktøj er ikke en SQL-validator eller en dialektspecifik parser. Det formatterer almindelige SQL-tokens og JOIN-former, men viser en fejl, når syntaks ikke kan bevares sikkert, herunder navngivne parametre og leverandørspecifikke litteraler. Du skal ikke ændre forespørgslen i det tilfælde, men bruge originalen i databasen eller i et SQL-værktøj, der understøtter syntaksen.
Gør det SQL-nøgleord i strenge med store bogstaver?
Nej. Strengliteraler i citationstegn ('...', "...", `...`) genkendes separat under tokenisering og udelades fra ændring af store/små bogstaver og logik for linjeskift.
Sendes min forespørgsel til en server?
Nej. Både formatering og minificering sker helt i din browser og sendes aldrig til en server.
Kan jeg ændre indrykningsbredden?
Ja - vælg 2 eller 4 mellemrum i indrykningsmenuen.