Formatea consultas SQL para hacerlas más legibles.
Todos los cálculos se realizan localmente en tu navegador. No se envía ningún dato al servidor.
Los resultados tienen carácter informativo. Contrástalos con otras fuentes.
Este formateador compara palabras clave, así que romperá una cadena que contenga la palabra FROM
Parte tu consulta por espacios y puntuación e inserta un salto de línea delante de cada una de veintitrés palabras clave. No tiene ni idea de qué es una cadena literal. Formatea SELECT name FROM t WHERE label = 'order from stock' y el literal vuelve como 'order\nfrom stock': un salto de línea dentro de las comillas y una consulta que ya filtra otra cosa.
Cómo funciona
- Colapsa todas las secuencias de espacios y luego parte la consulta en fragmentos por espacios, paréntesis, comas y puntos y coma.
- Empieza una línea nueva delante de cada una de las veintitrés palabras clave de cláusula, sin distinguir mayúsculas.
- Sigue el anidamiento con los paréntesis de apertura y cierre e indenta dos espacios por nivel.
para cada fragmento:
si el fragmento es ')' → sangría = max(0; sangría − 1)
si el fragmento es una palabra clave de cláusula → emitir salto de línea + dos espacios × sangría
emitir el fragmento sin cambios
si el fragmento es '(' → sangría = sangría + 1Ejemplo resuelto
Una consulta cuyo texto contiene una palabra clave entre comillas.
- entrada: SELECT name FROM t WHERE label = 'order from stock'
- SELECT, FROM y WHERE abren cada uno una línea nueva, según lo previsto
- la palabra from dentro de las comillas también se reconoce, porque las comillas son invisibles para la comparación
- la salida coloca un salto de línea entre 'order y from stock'
- el literal ya no es la misma cadena que era
Tres saltos de línea buscados y uno que cambia el significado de la consulta. Todo lo que queda fuera de las cadenas se formatea bien; todo lo que queda dentro corre peligro.
Cómo leer el resultado
- Revisa cualquier consulta que contenga texto entrecomillado antes de usar el resultado. Los comentarios entrañan el mismo riesgo: una palabra clave dentro de un comentario también recibe un salto de línea, y en un comentario de una sola línea ese salto puede empujar el resto del comentario a una línea de SQL activa.
- La sangría sigue solo a los paréntesis, así que refleja la profundidad de anidamiento y no la estructura de cláusulas. Una consulta larga y plana sin paréntesis sale completamente sin sangrar por muchas cláusulas que tenga, lo que es correcto para esta regla y a menudo no es lo que querías.
- La lista de palabras clave es fija y general. La sintaxis propia de cada dialecto —funciones de ventana, expresiones de tabla comunes, extensiones del fabricante, MERGE— no está en la lista y se quedará en la misma línea en lugar de tener la suya.
- Solo se añaden espacios. Los fragmentos se emiten exactamente como los escribiste, así que tu uso de mayúsculas se conserva y ninguna palabra clave se reescribe: la herramienta cambia la disposición, no el texto.
Preguntas frecuentes
- ¿Es seguro usarlo con consultas de producción?
- Formatea primero y lee la salida antes de usarla. La herramienta nunca reescribe tus fragmentos, pero puede insertar un salto de línea dentro de una cadena entrecomillada o de un comentario, y en ambos casos el SQL resultante significa algo distinto de lo que pegaste.
- ¿Por qué no se indenta mi consulta anidada?
- La sangría la gobiernan únicamente los paréntesis. Una subconsulta entre paréntesis se indenta; una serie de uniones y cláusulas sin paréntesis no, porque la herramienta no tiene un modelo de la estructura de cláusulas contra el que indentar.