No SQL Server, o T-SQL
STRING_ESCAPE()
função escapa caracteres especiais em textos e retorna o texto com caracteres de escape. Você fornece o texto e o tipo de escape como argumentos ao chamar a função.
Sintaxe
A sintaxe fica assim:
STRING_ESCAPE( text , type )
Onde texto é o texto que contém quaisquer caracteres a serem escapados e type determina as regras de escape a serem aplicadas.
Atualmente, o único valor suportado para o type argumento é
'json'
. Exemplo 1 – Uso básico
Veja um exemplo de como funciona:
SELECT STRING_ESCAPE('\', 'json') AS Result;
Resultado:
+----------+ | Result | |----------| | \\ | +----------+
Aqui está um exemplo em que uma barra é escapada:
SELECT STRING_ESCAPE('/', 'json') AS Result;
Resultado:
+----------+ | Result | |----------| | \/ | +----------+
E aqui está um exemplo com um pouco mais de texto:
SELECT STRING_ESCAPE('Free beer/wine with every lambo!', 'json') AS Result;
Resultado:
+-----------------------------------+ | Result | |-----------------------------------| | Free beer\/wine with every lambo! | +-----------------------------------+
Exemplo 2 - Tipo inválido
No momento da escrita, o único valor suportado para o type parâmetro é
'json'
. Veja o que acontece se fornecermos um valor não suportado:SELECT STRING_ESCAPE('\', 'oops') AS Result;
Resultado:
An invalid value was specified for argument 2.
Caracteres com escape
No momento da escrita, o
STRING_ESCAPE()
A função só pode escapar dos caracteres especiais JSON listados na tabela a seguir:Caráter especial | Sequência codificada |
---|---|
Aspas ("") | \" |
Sólido reverso (\) | \| |
Sólido (/) | \/ |
Retrocesso | \b |
Feed de formulário | \f |
Nova linha | \n |
Devolução de carro | \r |
Guia horizontal | \t |
Caractere de controle | Sequência codificada |
---|---|
CHAR(0) | \u0000 |
CHAR(1) | \u0001 |
… | … |
CHAR(31) | \u001f |