- ¿Funciona en el servidor?
- No. Todo ocurre en tu navegador. El SQL que pegas nunca viaja por la red, no se registra y no se guarda. Útil cuando formateas una consulta con datos reales, nombres internos de tablas o credenciales en un comentario.
- ¿Qué dialectos admite?
- SQL estándar, PostgreSQL, MySQL, SQLite y SQL Server. El formateador reconoce el estilo de comillas de identificadores de cada dialecto (comillas dobles en estándar/Postgres, acentos graves en MySQL, corchetes en SQL Server) y los deja tal cual. Las palabras clave son el superconjunto común, así que palabras propias de un dialecto como ILIKE (Postgres) o AUTO_INCREMENT (MySQL) se formatean bien.
- ¿Cambia los valores dentro de las cadenas de texto?
- No. Todo lo que está entre comillas simples se deja sin cambios: mayúsculas, espacios, todo. Si escribes WHERE name = 'select FROM where', el literal queda exactamente igual aunque parezcan palabras clave. Lo mismo con los comentarios: los bloques -- y /* */ se conservan tal cual en su propia línea.
- ¿Cómo funciona la opción de formato de las palabras clave?
- MAYÚSCULAS convierte cada palabra clave reconocida a mayúsculas (SELECT, FROM, INNER JOIN). minúsculas hace lo contrario. Tipo Título pone en mayúscula la primera letra de cada palabra (Select, From, Inner Join). Los identificadores (tus nombres de tablas, columnas y alias) nunca cambian. Solo tocamos las palabras que sabemos que son palabras clave.
- ¿Qué diferencia hay entre espacios y tabulaciones?
- Espacios: cada nivel de sangría son N espacios (tú eliges N; por defecto, 2). Tabulaciones: cada nivel de sangría es un carácter de tabulación. Las tabulaciones ocupan menos en el resultado pero se muestran con el ancho que tenga configurado tu editor: práctico si pegas en una herramienta de revisión de código que respeta esa configuración. El selector de ancho se desactiva al elegir tabulaciones.
- ¿Valida el SQL?
- No: es un formateador, no un analizador. Si pegas SQL roto (un paréntesis que falta, una coma suelta, una palabra clave mal escrita), lo formatea igualmente, solo que no funcionará cuando lo vuelvas a pegar en tu base de datos. No intentamos ser un linter; eso es otro trabajo.
- ¿Cómo maneja las subconsultas?
- Las subconsultas (todo lo que va entre paréntesis y no es una llamada a función) tienen su propio bloque con sangría. El paréntesis de apertura se queda en la línea exterior, el de cierre va en su propia línea alineado con el nivel exterior y las cláusulas internas se sangran. Los paréntesis de funciones como count(*) o coalesce(a, b) se quedan compactos en la misma línea, sin saltos dentro de los argumentos.
- ¿Por qué mi consulta formateada se ve distinta a la de otro formateador?
- Todo formateador toma decisiones de estilo: comas al principio o al final, dónde cortar AND/OR, cuánto sangrar los JOIN ON, cuándo partir las tuplas de VALUES. Este usa comas al final, pone cada cláusula y cada JOIN/ON/AND/OR en su propia línea y deja cada fila de VALUES en una sola línea. Algunos equipos prefieren otra forma: no existe un estándar de formato para SQL.
- ¿Puedo formatear un archivo .sql entero con muchas consultas?
- Sí, pégalo todo. Los puntos y coma separan las sentencias en líneas distintas y el formateador reinicia la sangría en cada una. El archivo queda en un solo bloque; si las quieres separadas, por ahora lo más limpio es pegarlas de una en una.
- ¿Maneja los acentos graves de MySQL y los corchetes de SQL Server?
- Sí. Los identificadores entre acentos graves como `my-col` y entre corchetes como [my col] se reconocen y se dejan sin cambios: el formateador no intentará cambiarles las comillas ni partirlos. Lo mismo con los identificadores estándar entre comillas dobles, como "My Column".