Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplica a: SQL Server 2016 (13.x) y versiones
posteriores Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
Aplica caracteres de escape a caracteres especiales en textos y devuelve texto con caracteres de escape.
STRING_ESCAPE es una función determinista introducida por primera vez en SQL Server 2016.
Convenciones de sintaxis de Transact-SQL
Sintaxis
STRING_ESCAPE( text , type )
Argumentos
text
Expresión nvarcharque representa el objeto que se debe escapar.
type
Reglas de escape que se aplicarán. Actualmente el valor admitido es 'json'.
Tipos de retorno
Texto nvarchar(max) con caracteres especiales y de control de escape.
Actualmente STRING_ESCAPE solo puede escapar caracteres especiales JSON que se muestran en las tablas siguientes.
| Carácter especial | Secuencia codificada |
|---|---|
Quotation mark (") |
\" |
Reverse solidus (\\) |
\\ |
Solidus (/) |
\/ |
Backspace |
\b |
Form feed |
\f |
New line |
\n |
Carriage return |
\r |
Horizontal tab |
\t |
| Carácter de control | Secuencia codificada |
|---|---|
CHAR(0) |
\u0000 |
CHAR(1) |
\u0001 |
... |
... |
CHAR(31) |
\u001f |
Observaciones
Ejemplos
A. Aplicar carácter de escape a texto según las reglas de formato de JSON
En esta consulta se aplican caracteres de escape a caracteres especiales mediante las reglas de JSON y se devuelve texto de escape.
SELECT STRING_ESCAPE('\ /
\\ " ', 'json') AS escapedText;
Este es el conjunto de resultados.
escapedText
-------------------------------------------------------------
\\\t\/\n\\\\\t\"\t
B. Aplicar formato a objeto de JSON
En esta consulta se crea texto de JSON a partir de variables de cadena y número, y se aplica un carácter de escape a cualquier carácter especial de JSON en variables.
SET @json = FORMATMESSAGE('{ "id": %d,"name": "%s", "surname": "%s" }',
17, STRING_ESCAPE(@name,'json'), STRING_ESCAPE(@surname,'json') );