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!

Opciones de formato
Líneas: 1 Caracteres: 0 Lín 1, Col 1 SQL · UTF-8

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

  1. 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.
  2. 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.
  3. Haga clic en Formatear o presione Ctrl + Enter (⌘ + Enter en una Mac). El SQL formateado reemplaza el texto del editor.
  4. 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.

Después, formateado por SQL Format
Opciones: Espacios de sangría 2 · Cantidad máxima de columnas 120 · Comas: Después · Palabras clave: Mayúsculas · Paréntesis en nueva línea: no
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.name

Má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.

Después, formateado por SQL Format
Opciones: Espacios de sangría 4 · Cantidad máxima de columnas 60 · Comas: Después · Palabras clave: Mayúsculas · Paréntesis en nueva línea: no
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 = 42

Má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.

Después, formateado por SQL Format
Opciones: Espacios de sangría 4 · Cantidad máxima de columnas 120 · Comas: Antes · Palabras clave: Mayúsculas · Paréntesis en nueva línea: no
SELECT id
    ,email
    ,country_code
    ,created_at
FROM customers

Más información: Opción Comas

Palabras 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ó.

Después, formateado por SQL Format
Opciones: Espacios de sangría 4 · Cantidad máxima de columnas 120 · Comas: Después · Palabras clave: Minúsculas · Paréntesis en nueva línea: no
select id,
    name
from products
where price > 100
order by name

Má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.

Después, formateado por SQL Format
Opciones: Espacios de sangría 4 · Cantidad máxima de columnas 120 · Comas: Después · Palabras clave: Mayúsculas · Paréntesis en nueva línea: sí
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.

Información de privacidad

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: