Comillas de identificadores SQL
TextoTodo se ejecuta en tu navegador: no se sube nada
Dos trabajos, cada uno de una situación real. Añadir comillas: llevar SQL de estilo MySQL a Postgres u Oracle. Los identificadores de MySQL no distinguen mayúsculas por defecto, mientras que Postgres pliega a minúsculas los identificadores sin comillas: una columna llamada `userID` llega como `userid` y la sentencia falla con «la columna no existe». Las comillas dobles son lo que conserva las mayúsculas originales. Quitar comillas: devolver los `"users"` y `"userID"` que exporta Postgres a identificadores desnudos, que se leen mejor y se pegan sin problema en herramientas antiguas que rechazan las comillas. ⚠️ La regla que más importa: no se toca nada de lo que hay dentro de las cadenas ni de los comentarios. Una implementación ingenua que entrecomilla cada palabra convierte `INSERT INTO t VALUES ('active')` en `'"active"'` —dos comillas de más guardadas en los datos, con la sentencia ejecutándose igual de bien, así que el fallo solo se descubre al leer los datos—. En su lugar se usa un pequeño analizador que salta enteras las cadenas, los comentarios y los identificadores ya entrecomillados. Cuando una comilla no se puede quitar, se queda. `"user id"` (un espacio), `"order"` (palabra reservada) y `"2fa"` (empieza por dígito) son identificadores inválidos desnudos. Se conservan las comillas y se informa del número, en vez de emitir SQL que no se puede ejecutar.
Funciones
- Añade comillas dobles a nombres de tabla, columna y alias en bloque
- O quita las comillas dobles y las invertidas ya existentes (las invertidas pasan a comillas dobles, que los tres motores aceptan)
- ⚠️ No se toca nada de dentro de las cadenas, ni siquiera las que usan el escape `''`
- No se toca nada de los comentarios de línea `--` ni de bloque `/* */`
- Las palabras clave de SQL no se entrecomillan (entrecomillar `select` lo convertiría en un nombre de columna)
- Los identificadores no ASCII también se entrecomillan, así que los nombres con acentos o en chino sobreviven
- Al quitar comillas, los nombres que no se pueden escribir desnudos conservan las suyas y se informa del número
- Cada fila se copia por separado y el texto explicativo nunca acaba en lo copiado
Cómo se usa
- Pega una sentencia SQL
- Elige Añadir comillas dobles o Quitar comillas dobles
- El resultado se actualiza al escribir; cópialo
Preguntas frecuentes
- ¿Se cambiará el contenido de las cadenas?
- No, y esa es la regla más importante de aquí. La palabra `active` de `INSERT INTO t VALUES ('active')` es dato, no un identificador; entrecomillarla produce `'"active"'`, y esas dos comillas de más sí se guardan en la base de datos. Peor aún, la sentencia se ejecuta igual, así que el problema solo aparece al volver a leer los datos. Los comentarios se saltan enteros por el mismo motivo.
- ¿Por qué no se entrecomillan las palabras clave?
- Porque entrecomillar `select` lo convierte de palabra clave en un nombre de columna llamado select, y la sentencia pasa a significar otra cosa al instante. Una tabla de palabras clave integrada cubre las habituales; una palabra poco común que falte en ella como mucho hará que la sentencia falle con «la columna no existe», algo que se ve en cuanto la ejecutas: no cambiará el significado en silencio.
- ¿Por qué sobreviven algunas comillas al quitarlas?
- Porque el nombre quedaría inválido sin ellas. Tres casos: un espacio o un carácter especial (`"user id"` se partiría en dos palabras), una palabra reservada (`"order"` chocaría con `ORDER BY`) y un dígito inicial (`"2fa"` no es un identificador válido). Las comillas se quedan y la herramienta te dice cuántos nombres así había: emitir SQL que no se puede ejecutar sería mucho peor que dejar unas pocas comillas.
Herramientas relacionadas
Limpiar texto
TextoLimpia una columna copiada de un log o una hoja: quita duplicados, ordena, borra líneas vacías, recorta espacios y quita la numeración de línea.
Estilo de nombres
TextoConvierte identificadores entre catorce estilos de nombres, separando bien las palabras de siglas como HTTPServer. Todo en tu navegador.
Formateador JSON
FormatoFormatea, valida y repara JSON en línea: árbol plegable, búsqueda de claves y valores, edición nodo a nodo y errores con línea y columna.
Comparar texto
TextoCompara dos textos línea a línea y resalta las líneas añadidas, borradas y sin cambios, alineando cada edición por diferencia mínima. Todo local.
Contador de palabras
Texto¿Cuánto mide este texto? Cuenta por separado caracteres chinos y palabras inglesas, con caracteres, líneas, bytes UTF-8, tiempo de lectura y SMS.
Conversor de chino
TextoConvierte texto chino entre caracteres simplificados y tradicionales: primero las palabras frecuentes y luego la forma más habitual del resto.