100 % local — seus dados nunca saem do seu navegador

Escapar SQL — um literal para a sua consulta

Duplique as aspas simples e envolva o resultado: um literal de string ANSI SQL completo, pronto para a consulta que você digita à mão num cliente.

Instantâneo Privado Zero cookies

Entrada Text

Saída SQL Escaped

O que esta ferramenta faz

Duas coisas: ela duplica cada aspa simples — é assim que o ANSI SQL escreve uma aspa dentro de um literal — e envolve o resultado, de modo que o que volta é um literal completo.

O'Brien   →   'O''Brien'

O SQL padrão não tem escape por barra invertida, então nada mais é transformado.

É o envolvimento que torna a ida e volta exata. Sem ele, uma aspa sozinha vira '', que a ferramenta de desescape lê como uma string vazia entre aspas — o caractere some. O quote_literal() do PostgreSQL e o SqlString.escape() do Node devolvem a forma envolvida pelo mesmo motivo. Desligue Com aspas se quiser só o interior, para colar entre as suas próprias aspas; essa forma não é reversível.

Leia antes de usar

Escapar aspas não é defesa contra injeção de SQL. É uma ajuda de sintaxe, não uma fronteira de segurança. Todo valor que vem de um usuário, de uma requisição, de um arquivo ou de outro sistema pertence a uma consulta parametrizada — um marcador que o driver liga separadamente, de modo que o valor nunca faz parte do texto da instrução e nenhuma quantidade de aspas pode mudar o significado da consulta.

Esta ferramenta é para o outro caso: um literal que você mesmo está digitando numa migração, numa massa de teste ou num SELECT avulso, cujo texto contém um apóstrofo e para o qual você quer a forma certa sem ficar contando aspas.

Ressalva de dialeto

A regra ANSI é o denominador comum mais seguro, mas não é universal. O MySQL, a menos que rode com NO_BACKSLASH_ESCAPES, também trata \ como caractere de escape dentro de literais — então um valor terminado em barra invertida não fica totalmente coberto só duplicando aspas. Confira o seu dialeto antes de confiar nisto para algo além de SQL escrito à mão.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Isso me protege de injeção de SQL?
Não, e você não deve usá-la para isso. Escapar aspas não é uma fronteira de segurança: a única defesa confiável é a consulta parametrizada, em que o valor nunca vira parte do texto da instrução. Use esta ferramenta para SQL que você escreve à mão, não para SQL montado a partir de entrada de usuário.
Por que só a aspa simples é duplicada?
Porque é o que diz o padrão ANSI. No SQL padrão um literal de string é delimitado por aspas simples e uma aspa interna é escrita duas vezes — não existe escape com barra invertida.
Isso basta para o MySQL?
Não necessariamente. A menos que NO_BACKSLASH_ESCAPES esteja ativo, o MySQL também trata a barra invertida como caractere de escape dentro de literais, então uma barra ao final pode mudar como a aspa seguinte é lida. Esta ferramenta aplica apenas a regra ANSI.
Por que a saída inclui as aspas ao redor?
Porque esse é o literal inteiro, e é a única forma que sobrevive a uma ida e volta. Uma aspa sozinha escapada sem envolvimento dá `''`, indistinguível de uma string vazia entre aspas. Desligue **Com aspas** se quiser só o interior.

Conversores relacionados