Formatador e Embelezador de SQL
Cole uma consulta bagunçada e receba SQL limpo e indentado de forma consistente. Suporta 17 dialetos, caixa das palavras-chave e um minificador de um clique, tudo no seu navegador.
Roda no seu navegadorSem cadastroNada é enviado
Como usar: Formatador SQL
- Cole uma ou mais instruções SQL na caixa de entrada ou abra um arquivo
.sql. - Escolha o dialeto do seu banco de dados para que a sintaxe dele, como casts
::,[colchetes], crases ou strings$$, seja interpretada corretamente. - Defina a caixa das palavras-chave (MAIÚSCULAS, minúsculas ou preservar), a indentação e o número de linhas em branco entre instruções.
- Mude para Minificar para remover comentários e espaços para logs, ORMs ou parâmetros de URL.
- Copie o resultado ou baixe-o como arquivo
.sql.
Por que formatar SQL?
Consultas copiadas de logs de ORM, planos de execução ou código da aplicação costumam chegar em uma única linha longa. Colocar cada cláusula (SELECT, FROM, JOIN, WHERE, GROUP BY) em sua própria linha e indentar colunas e condições deixa a lógica legível. Isso também diminui os diffs no code review e ajuda a perceber uma condição de join faltando ou um OR fora do lugar.
Convenções de estilo SQL
- Palavras-chave em maiúsculas (
SELECT,WHERE) separam a sintaxe SQL dos nomes de tabelas e colunas. A maioria dos guias de estilo recomenda isso, embora minúsculas sejam populares em equipes de dbt e analytics. - Uma coluna por linha faz com que adicionar ou remover colunas gere um diff de uma linha.
- Indentação consistente (2 ou 4 espaços) dentro de cláusulas e subconsultas mostra o aninhamento num relance.
- Terminadores de instrução: termine toda instrução com
;para que scripts com várias instruções não sejam ambíguos.
Dialetos SQL suportados
SQL padrão, PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, Trino/Presto, Hive, IBM Db2, Couchbase N1QL, SingleStore e TiDB. Se uma consulta não for interpretada, tente um dialeto mais específico: @variables, parâmetros $1 e operadores específicos de cada fornecedor só são reconhecidos no próprio dialeto.
O que o minificador faz
O modo de minificação remove comentários --, # e /* */, reduz espaços e quebras de linha a espaços simples e elimina os espaços ao redor de vírgulas e parênteses. Literais de string e identificadores entre aspas ('…', "…", `…`, […], $$…$$) são copiados byte a byte, então o significado da consulta nunca muda.
Perguntas frequentes
Meu SQL é enviado para um servidor?
A formatação muda o que a consulta faz?
Por que recebo um erro de parse em SQL válido?
::type ou SQL Server para nomes [bracketed] e @params.