Formatador de Snowflake
Formate SQL de Snowflake com as regras do Snowflake para strings $$, comentários //, conversões :: e caminhos semiestruturados como src:customer.name. QUALIFY e MINUS são tratados como cláusulas; SELECT * EXCLUDE, RENAME e REPLACE permanecem na mesma linha, e ASOF JOIN começa em uma nova linha. Strings e parênteses sem fechamento são reportados com linha e coluna, ajudando engenheiros de dados a revisar consultas e scripts de data warehouse.
Perguntas frequentes
Quais sintaxes de Snowflake são reconhecidas?
Strings entre aspas simples com escapes de barra invertida e aspas duplicadas, strings $$ entre aspas de dólar, identificadores entre aspas duplas, referências de coluna $1 e conversões :: são reconhecidos. Os comentários de linha // aceitos pelo Snowflake, além de -- e /* */, também são preservados.
Os caminhos semiestruturados são mantidos intactos?
Sim. Caminhos como src:customer.name ou v:items[0]::string permanecem unidos, para que o acesso a VARIANT nunca seja separado por espaços.
Quais cláusulas de Snowflake são compatíveis?
QUALIFY começa em uma linha própria, e MINUS é tratado como os outros operadores de conjuntos. ASOF JOIN começa em uma nova linha, assim como as outras junções.
E quanto a SELECT * EXCLUDE?
EXCLUDE, RENAME, REPLACE e ILIKE permanecem na mesma linha que o asterisco que modificam. Assim, SELECT * EXCLUDE (secret) é exibido como uma única expressão de coluna.
O que acontece com corpos de procedimentos entre $$?
Os corpos de procedimentos em JavaScript, Python ou Snowflake Scripting escritos entre marcadores $$ são mantidos exatamente como foram escritos. Para o Snowflake, eles são strings; reformatá-los poderia alterar o código.
Há suporte a MERGE?
Sim. Os ramos WHEN MATCHED e WHEN NOT MATCHED começam em novas linhas.
A ferramenta altera maiúsculas e minúsculas das palavras-chave?
Não. As palavras-chave e os nomes mantêm a capitalização usada por você. Os identificadores entre aspas diferenciam maiúsculas de minúsculas no Snowflake e nunca são alterados.
Quais erros são detectados?
Strings sem fechamento, strings $$, identificadores entre aspas e comentários de bloco, além de parênteses desequilibrados, cada um com linha e coluna. Nada é enviado ao seu data warehouse.
Qual pode ser o tamanho da entrada?
Até 1 MB por solicitação e 128 KB por instrução. Planilhas com muitas instruções são formatadas uma instrução por vez.
Posso escolher a indentação e meu SQL é armazenado?
Use 2 ou 4 espaços ou tabulações. SQL é formatado apenas na memória e nunca é salvo.