Partilhar via


STRING_ESCAPE (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Azure SQL Database AzureSQL Managed InstanceSQL database in Microsoft Fabric

Escapa de caracteres especiais em textos e retorna texto com caracteres escapados. STRING_ESCAPE é uma função determinística, introduzida no SQL Server 2016.

Transact-SQL convenções de sintaxe

Sintaxe

STRING_ESCAPE( text , type )  

Arguments

texto
É uma expressãonvarchar que representa o objeto que deve ser escapado.

type
Fugindo das regras que serão aplicadas. Atualmente, o valor suportado é 'json'.

Tipos de devolução

Texto nvarchar(max) com caracteres especiais e de controle escapados. Atualmente , STRING_ESCAPE só pode escapar de caracteres especiais JSON mostrados nas tabelas a seguir.

Caráter especial Sequência codificada
Aspas (") \"
Solidus reverso (\) \\
Solidus (/) \/
Tecla de Retrocesso \b
Avanço de formulário \f
Nova linha \n
Retorno de carro \r
Tabulação horizontal \t
Caráter de controle Sequência codificada
CAR(0) \u0000
CAR(1) \u0001
... ...
CAR(31) \u001f

Observações

Examples

A. Escape de texto de acordo com as regras de formatação JSON

A consulta a seguir escapa de caracteres especiais usando regras JSON e retorna texto com escape.

SELECT STRING_ESCAPE('\   /  
\\    "     ', 'json') AS escapedText;  

Aqui está o conjunto de resultados.

escapedText  
-------------------------------------------------------------  
\\\t\/\n\\\\\t\"\t

B. Formatar objeto JSON

A consulta a seguir cria texto JSON a partir de variáveis de número e cadeia de caracteres e escapa de qualquer caractere JSON especial em variáveis.

SET @json = FORMATMESSAGE('{ "id": %d,"name": "%s", "surname": "%s" }',
    17, STRING_ESCAPE(@name,'json'), STRING_ESCAPE(@surname,'json') );  

Ver também