Formateador SQL

Descripción general

El formateador SQL reorganiza y reestructura consultas SQL en codigo legible, con soporte para 19 dialectos de bases de datos. Pega una consulta comprimida o mal indentada, elige el dialecto y el resultado aparece al instante. El uso de mayusculas en palabras clave, el estilo de indentacion y la posicion de los saltos de linea son configurables.

Elegir el dialecto correcto

Elegir un dialecto incorrecto no hace que tu SQL falle al ejecutarse, pero si afecta la precision del formato. Diferencias clave:

MySQL / MariaDB

  • Los identificadores con comillas invertidas (`tabla`) se reconocen correctamente
  • Funciones especificas como GROUP_CONCAT se manejan sin errores de interpretacion
  • Clausulas como AUTO_INCREMENT y ENGINE=InnoDB no se marcan como incorrectas

PostgreSQL

  • Los identificadores entre comillas dobles ("tabla") se tratan como estandar
  • RETURNING y ON CONFLICT DO UPDATE se formatean correctamente
  • Los operadores de array && y @> no se confunden con operadores aritmeticos

Para SQL Server, usa transactsql en lugar de la opcion generica sql: gestiona TOP, WITH(NOLOCK) y otra sintaxis especifica de T-SQL con mayor precision. Los usuarios de BigQuery deben seleccionar el dialecto BigQuery explicitamente cuando las consultas incluyen rutas de proyecto delimitadas por comillas invertidas.

Antes y despues del formateo

SELECT * FROM users WHERE age > 18 AND status='active' OR role IN ('admin','moderator') ORDER BY created_at DESC LIMIT 10

Formateado con estilo de indentacion estandar:

SELECT
  *
FROM
  users
WHERE
  age > 18
  AND status = 'active'
  OR role IN ('admin', 'moderator')
ORDER BY
  created_at DESC
LIMIT
  10

Estilo de indentacion y ancho de expresion

Hay tres estilos disponibles: estandar (clausulas alineadas a la izquierda), tabular izquierda (palabras clave alineadas a la derecha, columnas alineadas verticalmente) y tabular derecha (palabras clave a la izquierda, columnas compactas). El parametro de ancho de expresion (50 caracteres por defecto) controla cuando una expresion entre parentesis hace salto de linea. Reduciendolo conseguiras que cada elemento de una lista IN (...) ocupe su propia linea, lo que facilita las revisiones de codigo con diff.

Posicion de AND / OR en el salto de linea

Por defecto, AND y OR inician la linea siguiente (estilo inicial). Si tu equipo pone los operadores al final de la linea anterior, cambia la opcion de salto de linea de operadores logicos a "despues". El numero de lineas en blanco entre sentencias puede ser 1 o 2 para separar scripts por lotes.

Todo el formateo se ejecuta localmente en el navegador; ningun codigo SQL se envia a ningun servidor.