Přeskočit na obsah
TextArray
100% lokálně

Formátovač SQL

Zformátujte SQL dotazy — každá klauzule na vlastním řádku, jednotné odsazení a velká klíčová slova.

Vstup
Výstup

Formátovač SQL

Vložte libovolný SQL dotaz a dostanete ho zpět čitelný: SELECT, FROM, WHERE, JOIN, GROUP BY, HAVING, ORDER BY a další hlavní klauzule začínají vždy na vlastním řádku, podmínky AND a OR pokračují odsazené pod nimi a každý sloupec v seznamu SELECT může mít vlastní řádek. Odsazení si zvolíte — dvě mezery, čtyři mezery nebo tabulátory — a rozhodnete, jestli se klíčová slova přepíšou na velká písmena, tedy klasické SELECT/FROM/WHERE, díky kterému je struktura dotazu vidět na první pohled.

Formátovač stojí na skutečném tokenizéru, ne na hromadě náhrad regulárními výrazy. Řetězcové literály jako 'it''s', identifikátory v uvozovkách všech dialektů ("sloupec", `sloupec`, [sloupec]) i oba styly komentářů (-- řádkový a /* blokový */) procházejí bajt po bajtu, takže klíčové slovo uvnitř řetězce se nikdy nezmění a uvozovka v komentáři nástroj nezmate. Mění se jen bílé místo a velikost písmen klíčových slov — výsledný dotaz znamená přesně to, co ten původní.

Více příkazů oddělených středníky se rozpozná a zformátuje jako samostatné bloky, takže nástroj poslouží i na migrační soubory a seed skripty, nejen na jednotlivé dotazy. Ke svým limitům je upřímný: hluboce vnořené poddotazy zůstávají na řádku své klauzule, díky čemuž je výsledek předvídatelný.

Vše běží lokálně ve vašem prohlížeči — dotazy s názvy tabulek či produkčními daty nikdy neopustí váš počítač. Hotový výsledek zkopírujte nebo stáhněte jako soubor .txt.

Časté dotazy

Může formátování změnit význam dotazu?
Ne. Mění se jen bílé místo a velikost písmen klíčových slov. Řetězcové literály, identifikátory v uvozovkách, komentáře, čísla i operátory procházejí přesně tak, jak jste je napsali, takže zformátovaný dotaz je sémanticky totožný se vstupem.
Jak se zpracovávají složité vnořené poddotazy?
Jde o formátovač typu best-effort. Hlavní klauzule dostanou vlastní řádky, ale obsah závorek včetně poddotazů zůstává na řádku své klauzule. Klíčová slova v poddotazech se přesto přepíšou na velká. U hluboce vnořených dotazů je výsledek správný, ale ne vždy dokonale odsazený.
Která klíčová slova se přepisují na velká?
Klauzule (SELECT, FROM, WHERE, varianty JOIN, GROUP BY, ORDER BY, INSERT INTO, UPDATE, DELETE FROM, CREATE TABLE a další), logické operátory (AND, OR, NOT, IN, LIKE, BETWEEN) a běžné typy sloupců. Názvy funkcí jako count() se nemění a nic uvnitř řetězců, uvozovek či komentářů se nikdy nezmění.
Dá se najednou zformátovat víc příkazů?
Ano. Příkazy oddělené středníky na nejvyšší úrovni se zformátují jako samostatné bloky oddělené prázdným řádkem. Středníky uvnitř řetězců se správně ignorují.
Nahrává se moje SQL někam?
Ne. Nástroj běží výhradně ve vašem prohlížeči a dotazy nikdy neopustí vaše zařízení — bezpečné i pro SQL s produkčními schématy.