Formátovač Snowflake
Formátujte SQL podle pravidel Snowflake pro řetězce $$, komentáře //, přetypování :: a cesty k polostrukturovaným datům, například src:customer.name. QUALIFY a MINUS se zpracovávají jako klauzule, SELECT * EXCLUDE, RENAME a REPLACE zůstávají na stejném řádku a ASOF JOIN začíná na novém řádku. Neuzavřené řetězce a závorky se hlásí spolu s číslem řádku a sloupce, což datovým inženýrům usnadňuje kontrolu dotazů a skriptů pro datové sklady.
Často kladené otázky
Která syntaxe Snowflake je podporována?
Rozpoznávají se řetězce v jednoduchých uvozovkách s escapováním zpětným lomítkem a zdvojenými uvozovkami, řetězce v dolarových uvozovkách $$, identifikátory v dvojitých uvozovkách, odkazy na sloupce $1 a přetypování ::. Zachovávají se také jednořádkové komentáře //, které Snowflake přijímá vedle -- a /* */.
Zůstávají polostrukturované cesty nedotčené?
Ano. Cesty jako src:customer.name nebo v:items[0]::string zůstávají pohromadě, takže přístup k VARIANT nikdy nerozdělí mezery.
Které klauzule Snowflake jsou podporovány?
QUALIFY začíná na vlastním řádku a MINUS se zpracovává jako ostatní operátory množin. ASOF JOIN začíná na novém řádku stejně jako ostatní spojení.
Jak je to s SELECT * EXCLUDE?
EXCLUDE, RENAME, REPLACE a ILIKE zůstávají na stejném řádku jako hvězdička, kterou upravují. SELECT * EXCLUDE (secret) tak tvoří jeden výraz sloupce.
Co se stane s těly procedur v $$?
Těla procedur JavaScript, Python nebo Snowflake Scripting zapsaná mezi značkami $$ zůstávají přesně tak, jak byla napsána. Snowflake je považuje za řetězce, takže jejich přeformátování by mohlo změnit kód.
Podporuje MERGE?
Ano. Větve WHEN MATCHED a WHEN NOT MATCHED začínají na nových řádcích.
Mění se velikost písmen klíčových slov?
Ne. Klíčová slova a názvy si zachovávají velikost písmen, kterou jste použili. Identifikátory v uvozovkách rozlišují v Snowflake velikost písmen a nijak se neupravují.
Které chyby se zjišťují?
Neuzavřené řetězce, řetězce $$, identifikátory v uvozovkách a blokové komentáře i nevyvážené závorky, vždy s číslem řádku a sloupce. Do vašeho datového skladu se nic neodesílá.
Jak velký může být vstup?
Až 1 MB na požadavek a 128 KB na příkaz. Pracovní listy s mnoha příkazy se formátují po jednom.
Mohu zvolit odsazení a ukládá se můj SQL?
Použijte 2 nebo 4 mezery, případně tabulátory. SQL se formátuje pouze v paměti a nikdy se neukládá.