STRING_ESCAPE (Transact-SQL)STRING_ESCAPE (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database noAzure Synapse Analytics (SQL DW) noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Aplica caracteres de escape a caracteres especiales en textos y devuelve texto con caracteres de escape.Escapes special characters in texts and returns text with escaped characters. STRING_ESCAPE es una función determinista.STRING_ESCAPE is a deterministic function.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

STRING_ESCAPE( text , type )  

ArgumentosArguments

textotext
Es una expresión nvarchar que representa el objeto que se debe escapar.Is a nvarcharexpression expression representing the object that should be escaped.

Tipotype
Reglas de escape que se aplicarán.Escaping rules that will be applied. Actualmente el valor admitido es 'json'.Currently the value supported is 'json'.

Tipos devueltosReturn Types

Texto nvarchar(max) con caracteres especiales y de control de escape.nvarchar(max) text with escaped special and control characters. Actualmente STRING_ESCAPE solo puede aplicar caracteres de escape a los caracteres especiales de JSON que se muestran en las tablas siguientes.Currently STRING_ESCAPE can only escape JSON special characters shown in the following tables.

Carácter especialSpecial character Secuencia codificadaEncoded sequence
Comillas (")Quotation mark (") \"\"
Barra oblicua invertida (\)Reverse solidus (\) \\
Barra oblicua (/)Solidus (/) \/
RetrocesoBackspace \b\b
Avance de páginaForm feed \f\f
Nueva líneaNew line \n\n
Retorno de carroCarriage return \r\r
Tabulación horizontalHorizontal tab \t\t
Carácter de controlControl character Secuencia codificadaEncoded sequence
CHAR(0)CHAR(0) \u0000\u0000
CHAR(1)CHAR(1) \u0001\u0001
... ...
CHAR(31)CHAR(31) \u001f\u001f

NotasRemarks

EjemplosExamples

A.A. Aplicar carácter de escape a texto según las reglas de formato de JSONEscape text according to the JSON formatting rules

En esta consulta se aplican caracteres de escape a caracteres especiales mediante las reglas de JSON y se devuelve texto de escape.The following query escapes special characters using JSON rules and returns escaped text.

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

El conjunto de resultados es el siguiente.Here is the result set.

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

B.B. Aplicar formato a objeto de JSONFormat JSON object

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.The following query creates JSON text from number and string variables, and escapes any special JSON character in variables.

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

Consulte tambiénSee Also

CONCAT (Transact-SQL)CONCAT (Transact-SQL)
CONCAT_WS (Transact-SQL)CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)FORMATMESSAGE (Transact-SQL)
QUOTENAME (Transact-SQL)QUOTENAME (Transact-SQL)
REPLACE (Transact-SQL)REPLACE (Transact-SQL)
REVERSE (Transact-SQL)REVERSE (Transact-SQL)
STRING_AGG (Transact-SQL)STRING_AGG (Transact-SQL)
STUFF (Transact-SQL)STUFF (Transact-SQL)
TRANSLATE (Transact-SQL)TRANSLATE (Transact-SQL)
Funciones de cadena (Transact-SQL)String Functions (Transact-SQL)