SQL Format
Pegue su SQL en el cuadro de abajo y use las opciones disponibles para formatearlo. SQL-Format fue creado por administradores de bases de datos siguiendo estándares de la industria y de las grandes tecnológicas. ¡Disfrútelo!
Qué es SQL Format y para quién es
SQL Format es un formateador en línea gratuito que convierte SQL apretado, escrito en una sola línea o con sangría inconsistente en una disposición limpia y predecible. Cada cláusula comienza en su propia línea, las listas de columnas se dividen con un elemento por línea, los joins y sus condiciones se sangran debajo de la tabla a la que pertenecen y las consultas anidadas se sangran dentro de sus paréntesis.
Está pensado para quienes leen SQL todo el día: desarrolladores que revisan un pull request, DBA que desenredan una consulta lenta capturada de un log, analistas que ordenan un reporte antes de compartirlo y cualquiera que haya heredado una sentencia de 300 líneas escrita en una sola línea. La disposición sigue convenciones que los equipos de bases de datos usan desde hace mucho tiempo, y las opciones de abajo le permiten adaptarla al estilo de su propio equipo.
Cómo usar el formateador
- Pegue o escriba su SQL en el editor. Puede pegar varias sentencias a la vez; se separan en los puntos y comas y se formatean una tras otra.
- Ajuste las opciones si lo necesita: tamaño de la sangría, ancho máximo de línea, posición de las comas, mayúsculas o minúsculas en las palabras clave y si los paréntesis de apertura van en su propia línea.
- Haga clic en Formatear o presione Ctrl + Enter (⌘ + Enter en una Mac). El SQL formateado reemplaza el texto del editor.
- Use Copiar para llevar el resultado al portapapeles, o Limpiar para empezar de nuevo. La barra de estado muestra la cantidad de líneas y de caracteres y la posición del cursor.
Las opciones de formato
Cinco opciones controlan el resultado. Los valores predeterminados (sangría de 4 espacios, 120 columnas, comas al final, palabras clave en mayúsculas, paréntesis en la misma línea) sirven para la mayoría de los equipos; cada opción tiene su propia página con más ejemplos.
Espacios de sangría
Espacios de sangría define cuántos espacios usa cada nivel de anidamiento, de 0 en adelante; el valor predeterminado es 4. Los caracteres de tabulación de su entrada se reemplazan por esa misma cantidad de espacios, salvo dentro de literales de cadena e identificadores entre comillas. El ejemplo de abajo usa 2.
SELECT c.name,
SUM(o.total) AS revenue
FROM customers c
JOIN orders o
ON o.customer_id = c.id
WHERE o.status = 'PAID'
GROUP BY c.nameMás información: Opción Espacios de sangría
Cantidad máxima de columnas
Cantidad máxima de columnas es el ancho de línea al que apunta el formateador (predeterminado: 120). Las expresiones largas se dividen en varias líneas para no superarlo; 0 desactiva el ajuste de línea.
SELECT order_id,
quantity * unit_price * (1 - discount_rate) * (1 +
tax_rate) + shipping_fee - loyalty_credit AS
amount_due
FROM order_lines
WHERE order_id = 42Más información: Opción Cantidad máxima de columnas
Comas
Comas elige entre comas al final (después de cada elemento, la opción predeterminada) y comas al inicio (al comienzo de la línea siguiente). Las comas al inicio facilitan comentar una columna y generan diffs más pequeños cuando agrega una al final.
SELECT id
,email
,country_code
,created_at
FROM customersPalabras clave
Palabras clave pasa las palabras clave de SQL, como SELECT, FROM y JOIN, a mayúsculas (predeterminado) o a minúsculas. Los literales de cadena y los comentarios quedan tal como los escribió.
select id,
name
from products
where price > 100
order by nameMás información: Opción Palabras clave
Paréntesis en nueva línea
Paréntesis en nueva línea mueve el paréntesis de apertura de un bloque, como una subconsulta después de IN, el cuerpo de una CTE o una lista dividida en varias líneas, a su propia línea en lugar de dejarlo al final de la línea anterior.
SELECT name
FROM customers
WHERE id IN
(
SELECT customer_id
FROM orders
WHERE total > 500
)Más información: Opción Paréntesis en nueva línea
Qué dialectos de SQL entiende
El formateador no está atado a una sola base de datos. Trabaja con el SQL que comparten los principales motores: SELECT con joins, subconsultas y CASE, INSERT, UPDATE, DELETE, DDL común como CREATE TABLE y CREATE VIEW, y comentarios en las formas -- y /* */, que se conservan.
Tiene soporte adicional para PostgreSQL: casts con ::, parámetros $1 y cuerpos entre dólares $$ … $$, cuyo PL/pgSQL se organiza bloque por bloque. Los identificadores entre comillas invertidas de MySQL y los identificadores [bracket] de SQL Server se mantienen intactos. No hay selector de dialecto, por lo que el resto de la sintaxis propia de una sola base de datos, como el separador de lotes GO de SQL Server, no recibe un tratamiento especial. Las guías de dialectos explican las diferencias.
Qué pasa con su SQL
Cuando hace clic en Formatear, el SQL del editor se envía a nuestro servidor por HTTPS, se formatea en memoria y se devuelve de inmediato en la página. No se escribe en una base de datos, un archivo ni un log, y no se comparte con socios de analítica ni de publicidad. Aun así, evite pegar contraseñas, claves o datos personales reales en cualquier herramienta en línea; la página de privacidad tiene los detalles.
Preguntas frecuentes
¿Mi SQL se guarda en algún lugar?
No. El SQL se formatea en memoria en el servidor para esa única solicitud y se devuelve en la respuesta. No se guarda en una base de datos, un archivo ni un log.
¿El formateo puede cambiar lo que hace mi consulta?
Está diseñado para cambiar solo los espacios en blanco, los saltos de línea y las mayúsculas o minúsculas de las palabras clave, nunca el orden ni la lógica de su SQL. Como con cualquier herramienta que reescribe código, lea el resultado antes de ejecutarlo en una base de datos de producción. Tenga en cuenta que el cambio de mayúsculas o minúsculas de las palabras clave también se aplica a los nombres que son palabras clave de SQL, como una columna llamada month.
¿Con qué bases de datos funciona?
Formatea el SQL común a PostgreSQL, MySQL, SQL Server, Oracle, Db2 y SQLite, con tratamiento adicional para los casts, los parámetros y los cuerpos PL/pgSQL de PostgreSQL. No hay selector de dialecto.
¿Hay un límite de tamaño?
Sí. Una sola solicitud puede contener hasta 20.000 líneas de SQL.
¿Puedo formatear varias sentencias a la vez?
Sí. Sepárelas con punto y coma; cada sentencia se formatea por separado y todas conservan su orden original.
¿Tiene algún costo o requiere una cuenta?
No. El formateador es gratuito y no requiere registro.
Ver todas las preguntas frecuentes
Guías y referencias
Además de la herramienta, estas guías cubren las convenciones detrás de un SQL legible:
- Guía de estilo SQL
- Cómo formatear consultas SQL complejas
- Comas al inicio o al final en SQL
- Formato SQL para revisión de código y control de versiones
- Errores comunes de legibilidad en SQL
- Formato de consultas PostgreSQL y PL/pgSQL
- Diferencias entre dialectos SQL que afectan el formato
- Checklist de formato SQL antes de desplegar una migración
- Documentación de opciones: qué hace cada ajuste, con ejemplos