sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo funciona la función STRING_ESCAPE() en SQL Server (T-SQL)

En SQL Server, el T-SQL STRING_ESCAPE() La función escapa de los caracteres especiales en los textos y devuelve el texto con caracteres escapados.

Proporcionas el texto y el tipo de escape como argumentos cuando llamas a la función.

Sintaxis

La sintaxis es así:

STRING_ESCAPE( text , type )

Donde texto es el texto que contiene los caracteres que se van a escapar, y type determina las reglas de escape a aplicar.

Actualmente, el único valor admitido para el tipo el argumento es 'json' .

Ejemplo 1:uso básico

He aquí un ejemplo de cómo funciona:

SELECT STRING_ESCAPE('\', 'json') AS Result;

Resultado:

+----------+
| Result   |
|----------|
| \\       |
+----------+

Aquí hay un ejemplo donde se escapa una barra inclinada:

SELECT STRING_ESCAPE('/', 'json') AS Result;

Resultado:

+----------+
| Result   |
|----------|
| \/       |
+----------+

Y aquí hay un ejemplo con un poco más de texto:

SELECT STRING_ESCAPE('Free beer/wine with every lambo!', 'json') AS Result;

Resultado:

+-----------------------------------+
| Result                            |
|-----------------------------------|
| Free beer\/wine with every lambo! |
+-----------------------------------+

Ejemplo 2:tipo no válido

En el momento de escribir este artículo, el único valor admitido para el tipo el parámetro es 'json' . Esto es lo que sucede si proporcionamos un valor no admitido:

SELECT STRING_ESCAPE('\', 'oops') AS Result;

Resultado:

An invalid value was specified for argument 2.

Personajes escapables

Al momento de escribir, el STRING_ESCAPE() La función solo puede escapar de los caracteres especiales JSON enumerados en la siguiente tabla:

Carácter especial Secuencia codificada
Comillas (") \"
Reverse solidus (\) \|
Solidus (/) \/
Retroceso \b
Fuente de formulario \f
Nueva línea \n
Retorno de carro \r
Pestaña horizontal \t
Carácter de control Secuencia codificada
CHAR(0) \u0000
CARÁCTER(1) \u0001
CARÁCTER(31) \u001f