Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como a função STRING_ESCAPE() funciona no SQL Server (T-SQL)


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