Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2016 (13.x) e versões
posteriores Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
Faz o escape dos caracteres especiais em textos e retorna o texto com caracteres com escape. STRING_ESCAPE é uma função determinística, introduzida no SQL Server 2016.
Convenções de sintaxe de Transact-SQL
Sintaxe
STRING_ESCAPE( text , type )
Argumentos
text
É uma expressão nvarcharque representa o objeto que deve ser escapado.
tipo
Regras de escape que serão aplicadas. Atualmente, o valor com suporte é 'json'.
Tipos de retorno
Texto nvarchar(max) com caracteres especiais e de controle com escape. No momento, STRING_ESCAPE somente pode fazer o escape de caracteres especiais JSON mostrados nas tabelas a seguir.
| Caractere especial | Sequência codificada |
|---|---|
| Aspas (") | \" |
| Barra invertida (\) | \\ |
| Barra "/" | \/ |
| Backspace | \b |
| Avanço de formulário | \f |
| Nova linha | \n |
| Retorno de carro | \r |
| Guia horizontal | \t |
| Caractere de controle | Sequência codificada |
|---|---|
| CHAR(0) | \u0000 |
| CHAR(1) | \u0001 |
| ... | ... |
| CHAR(31) | \u001f |
Comentários
Exemplos
a. Fazer o escape do texto de acordo com as regras de formatação do JSON
A consulta a seguir faz o escape de caracteres especiais usando regras do JSON e retorna o texto com escape.
SELECT STRING_ESCAPE('\ /
\\ " ', 'json') AS escapedText;
Veja a seguir o conjunto de resultados.
escapedText
-------------------------------------------------------------
\\\t\/\n\\\\\t\"\t
B. Formatar objeto JSON
A consulta a seguir cria o texto JSON com base nas variáveis de número e cadeia de caracteres e faz o escape dos caracteres JSON especiais em variáveis.
SET @json = FORMATMESSAGE('{ "id": %d,"name": "%s", "surname": "%s" }',
17, STRING_ESCAPE(@name,'json'), STRING_ESCAPE(@surname,'json') );