STRING_ESCAPE (Transact-SQL)

Van toepassing op: SQL Server 2016 (13.x) en latere versies Azure SQL DatabaseAzure SQL Managed InstanceSQL analytics endpoint in Microsoft FabricWarehouse in Microsoft Fabric SQLdatabase in Microsoft Fabric

Escapet speciale tekens in teksten en retourneert tekst met escape-tekens. STRING_ESCAPE is een deterministische functie die voor het eerst is geïntroduceerd in SQL Server 2016.

Transact-SQL syntaxis-conventies

Syntaxis

STRING_ESCAPE( text , type )  

Arguments

tekst

Een nvarchar-expressie die het object vertegenwoordigt dat moet worden ontsnapt.

type

Ontsnappingsregels die worden toegepast. Momenteel is 'json'de ondersteunde waarde.

Retourtypen

nvarchar(max) tekst met escape-speciale tekens en besturingstekens.

Momenteel STRING_ESCAPE kunnen alleen speciale JSON-tekens ontsnappen die worden weergegeven in de volgende tabellen.

Speciaal teken Gecodeerde reeks
Quotation mark (") \"
Reverse solidus (\\) \\
Solidus (/) \/
Backspace \b
Form feed \f
New line \n
Carriage return \r
Horizontal tab \t
Besturingselementteken Gecodeerde reeks
CHAR(0) \u0000
CHAR(1) \u0001
... ...
CHAR(31) \u001f

Opmerkingen

Voorbeelden

Eén. Escape-tekst volgens de JSON-opmaakregels

De volgende query escapet speciale tekens met behulp van JSON-regels en retourneert escape-tekst.

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

Hier is het resultatenoverzicht.

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

B. JSON-object opmaken

Met de volgende query wordt JSON-tekst gemaakt op basis van getal- en tekenreeksvariabelen en wordt een speciaal JSON-teken in variabelen ontsnapt.

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