Formattatore Snowflake
Formatta Snowflake SQL secondo le regole Snowflake per le stringhe $$, i commenti //, i cast :: e i percorsi semi-strutturati come src:customer.name. QUALIFY e MINUS vengono gestiti come clausole, SELECT * EXCLUDE, RENAME e REPLACE restano sulla stessa riga e ASOF JOIN inizia una nuova riga. Le stringhe e le parentesi non chiuse vengono segnalate con riga e colonna, per aiutare i data engineer a esaminare query e script per data warehouse.
Domande frequenti
Quale sintassi Snowflake viene riconosciuta?
Vengono riconosciute le stringhe tra apici singoli con escape tramite backslash e apici raddoppiati, le stringhe tra dollari $$, gli identificatori tra virgolette doppie, i riferimenti alle colonne $1 e i cast ::. Vengono mantenuti anche i commenti di riga //, accettati da Snowflake oltre a -- e /* */.
I percorsi semi-strutturati vengono mantenuti integri?
Sì. Percorsi come src:customer.name o v:items[0]::string restano uniti, così l'accesso a VARIANT non viene mai spezzato dagli spazi.
Quali clausole Snowflake sono supportate?
QUALIFY inizia su una riga propria e MINUS viene gestito come gli altri operatori di insieme. ASOF JOIN inizia su una nuova riga, come gli altri join.
Come viene gestito SELECT * EXCLUDE?
EXCLUDE, RENAME, REPLACE e ILIKE restano sulla stessa riga dell'asterisco a cui si riferiscono. SELECT * EXCLUDE (secret) viene quindi letto come un'unica espressione di colonna.
Che cosa succede ai corpi delle procedure racchiusi tra $$?
I corpi delle procedure JavaScript, Python o Snowflake Scripting scritti tra i marcatori $$ vengono mantenuti esattamente come sono. Per Snowflake sono stringhe, quindi riformattarli potrebbe modificare il codice.
Supporta MERGE?
Sì. I rami WHEN MATCHED e WHEN NOT MATCHED iniziano su nuove righe.
Modifica le maiuscole delle parole chiave?
No. Le parole chiave e i nomi mantengono le maiuscole e minuscole originali. In Snowflake gli identificatori tra virgolette distinguono tra maiuscole e minuscole e non vengono mai modificati.
Quali errori vengono rilevati?
Stringhe non chiuse, stringhe $$, identificatori tra virgolette e commenti di blocco, oltre a parentesi non bilanciate, ciascuno con riga e colonna. Nulla viene inviato al vostro data warehouse.
Qual è la dimensione massima dell'input?
Fino a 1 MB per richiesta e 128 KB per istruzione. I fogli di lavoro con molte istruzioni vengono formattati un'istruzione alla volta.
Posso scegliere il rientro e il mio SQL viene salvato?
Usate 2 o 4 spazi oppure tabulazioni. SQL viene formattato solo in memoria e non viene mai salvato.