Formátovač BigQuery
Formátujte Google BigQuery Standard SQL podle pravidel BigQuery pro názvy v project.dataset.table, řetězce v trojitých uvozovkách a surové řetězce, komentáře # a parametry @query. QUALIFY dostává vlastní řádek, SELECT * EXCEPT a REPLACE zůstávají na stejném řádku a klauzule oken se odsazují. Neuzavřené řetězce, komentáře a závorky se hlásí spolu s řádkem a sloupcem, což analytikům a datovým inženýrům usnadňuje kontrolu dotazů.
Často kladené otázky
Jaké syntaxi BigQuery nástroj rozumí?
Rozpoznávají se názvy v zpětných apostrofech, například `project.dataset.table`, řetězce v jednoduchých i dvojitých uvozovkách s escape sekvencemi zpětným lomítkem, řetězce v trojitých uvozovkách a předpony surových řetězců r'' a bajtových řetězců b''. Parametry @named a proměnné @@system zůstávají tak, jak byly napsány.
Zachovává formátovač komentáře s mřížkou (#)?
Ano. BigQuery podporuje komentáře # i komentáře -- a /* */, které všechny zůstávají na místě.
Jak se zpracovává QUALIFY?
QUALIFY začíná na vlastním řádku stejně jako WHERE a HAVING. Podmínka filtru je pod ním odsazena.
A co SELECT * EXCEPT a REPLACE?
Když po hvězdičce následuje EXCEPT nebo REPLACE, zůstává na stejném řádku jako hvězdička. Díky tomu se SELECT * EXCEPT (col) nezamění za množinovou operaci EXCEPT.
Zůstávají pole a struktury nedotčené?
Ano. Indexy polí, například arr[OFFSET(0)], zůstávají tak, jak byly napsány, a konstruktory STRUCT a ARRAY se formátují jako ostatní volání funkcí.
Jak se formátují okenní funkce?
Dlouhé klauzule OVER otevírají odsazený blok, v němž jsou PARTITION BY a ORDER BY na samostatných řádcích. Krátké zůstávají na stejném řádku.
Mění se velikost písmen klíčových slov?
Ne. Klíčová slova, funkce a názvy zachovávají velikost písmen, kterou jste napsali. Mění se pouze mezery a zalomení řádků.
Které chyby se zjišťují?
Neuzavřené řetězce, řetězce v trojitých uvozovkách, názvy v zpětných apostrofech a blokové komentáře i nevyvážené závorky, vždy s uvedením řádku a sloupce. Dotaz se neodesílá do BigQuery a nic nestojí.
Jak velký může být vstup?
Až 1 MB na požadavek a 128 KB na příkaz. Skripty s mnoha příkazy se formátují po jednom příkazu.
Mohu zvolit odsazení a ukládá se můj dotaz?
Použijte 2 nebo 4 mezery nebo tabulátory. Dotaz se formátuje pouze v paměti a nikdy se neukládá.