Formatador de Trino
Formate Trino e Presto SQL com regras Trino para identificadores entre aspas duplas, strings padrão sem escapes de barra invertida, literais X'' e U&'', subscritos de arrays e mapas e expressões lambda. Cláusulas como WITH, GROUP BY, ORDER BY, OFFSET e FETCH FIRST ficam em linhas próprias, e as colunas são recuadas uma por linha. Strings e parênteses não fechados são indicados com linha e coluna para analistas.
Perguntas frequentes
Quais sintaxes Trino são reconhecidas?
Strings entre aspas simples com aspas duplicadas, identificadores entre aspas duplas e literais varbinary X'' e U&'' Unicode são reconhecidos. Os subscritos Array[1] e map['key'] e expressões lambda, como x -> x + 1, permanecem intactos.
Barras invertidas escapam caracteres em strings?
Não. Em Trino, uma barra invertida dentro de uma string é um caractere comum, e o formatador segue essa regra, então 'C:\' é uma string completa.
Posso formatar consultas Athena de Presto e Amazon?
Sim. Presto e Athena compartilham as regras de aspas de Trino e a maior parte de sua sintaxe, então suas consultas são formatadas da mesma maneira.
Como os nomes de catálogos e esquemas são tratados?
Nomes qualificados, como hive.sales.orders e "my-catalog"."schema"."table", permanecem unidos. Nenhum espaço é adicionado ao redor dos pontos.
Quais cláusulas ficam em uma linha própria?
WITH, SELECT, FROM, WHERE, GROUP BY, HAVING, WINDOW, ORDER BY, OFFSET, LIMIT e FETCH começam em linhas próprias. Os operadores de conjunto UNION, INTERSECT e EXCEPT separam as consultas que combinam.
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ê. Apenas os espaços em branco e as quebras de linha mudam.
Quais erros são detectados?
Strings, identificadores entre aspas, subscritos e comentários de bloco não fechados, além de parênteses desbalanceados, cada um com linha e coluna. As consultas não são executadas em nenhum cluster.
Qual pode ser o tamanho da entrada?
Até 1 MB por solicitação e 128 KB por instrução. Várias instruções são separadas por linhas em branco.
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.