Formater Snowflake
Formatuj SQL Snowflake zgodnie z regułami Snowflake dotyczącymi ciągów $$, komentarzy //, rzutowań :: i ścieżek półustrukturyzowanych, takich jak src:customer.name. QUALIFY i MINUS są obsługiwane jako klauzule, SELECT * EXCLUDE, RENAME i REPLACE pozostają w jednym wierszu, a ASOF JOIN rozpoczyna nowy wiersz. Niedomknięte ciągi znaków i nawiasy są zgłaszane wraz z numerem wiersza i kolumny, co pomaga inżynierom danych przeglądać zapytania i skrypty hurtowni danych.
Najczęściej zadawane pytania
Jakie składnie Snowflake są rozpoznawane?
Rozpoznawane są ciągi w apostrofach z sekwencjami ucieczki backslash i podwojonymi apostrofami, ciągi w cudzysłowach dolarowych $$, identyfikatory w cudzysłowach podwójnych, odwołania do kolumn $1 oraz rzutowania ::. Zachowywane są też komentarze wierszowe // obsługiwane przez Snowflake obok -- i /* */.
Czy ścieżki półustrukturyzowane są zachowywane w całości?
Tak. Ścieżki takie jak src:customer.name lub v:items[0]::string pozostają połączone, więc dostęp do VARIANT nigdy nie jest rozdzielany spacjami.
Które klauzule Snowflake są obsługiwane?
QUALIFY rozpoczyna własny wiersz, a MINUS jest obsługiwany tak jak pozostałe operatory zbiorów. ASOF JOIN rozpoczyna nowy wiersz, podobnie jak inne złączenia.
Co z SELECT * EXCLUDE?
EXCLUDE, RENAME, REPLACE i ILIKE pozostają w tym samym wierszu co gwiazdka, którą modyfikują. Dzięki temu SELECT * EXCLUDE (secret) jest odczytywane jako jedno wyrażenie kolumnowe.
Co dzieje się z treścią procedur w $$?
Treści procedur JavaScript, Python lub Snowflake Scripting zapisane między znacznikami $$ są zachowywane dokładnie w takiej postaci, w jakiej je zapisano. Dla Snowflake są to ciągi znaków, więc ich ponowne formatowanie mogłoby zmienić kod.
Czy obsługuje MERGE?
Tak. Gałęzie WHEN MATCHED i WHEN NOT MATCHED rozpoczynają nowe wiersze.
Czy zmienia wielkość liter w słowach kluczowych?
Nie. Słowa kluczowe i nazwy zachowują użyte przez Ciebie wielkość liter. Identyfikatory w cudzysłowach rozróżniają wielkość liter w Snowflake i nigdy nie są modyfikowane.
Jakie błędy są wykrywane?
Wykrywa niedomknięte ciągi znaków, ciągi $$, identyfikatory w cudzysłowach i komentarze blokowe oraz niezbilansowane nawiasy, podając w każdym przypadku wiersz i kolumnę. Nic nie jest wysyłane do Twojej hurtowni danych.
Jak duże mogą być dane wejściowe?
Do 1 MB na żądanie i 128 KB na instrukcję. Arkusze z wieloma instrukcjami są formatowane po jednej instrukcji naraz.
Czy mogę wybrać wcięcia i czy mój skrypt SQL jest zapisywany?
Użyj 2 lub 4 spacji albo tabulatorów. SQL jest formatowane wyłącznie w pamięci i nigdy nie jest zapisywane.