Aracılığıyla paylaş


STRING_ESCAPE (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Metinlerdeki özel karakterlerin kaçışlarını oluşturur ve kaçış karakterleri içeren metinleri döndürür. STRING_ESCAPE , SQL Server 2016'da tanıtılan belirleyici bir işlevdir.

Transact-SQL söz dizimi kuralları

Sözdizimi

STRING_ESCAPE( text , type )  

Arguments

text
Kaçış olması gereken nesneyi temsil eden bir nvarcharifadesidir .

type
Uygulanacak kaçış kuralları. Şu anda desteklenen değerdir 'json'.

Dönüş Türleri

Kaçış özel ve denetim karakterleri içeren nvarchar(max) metni. Şu anda STRING_ESCAPE yalnızca aşağıdaki tablolarda gösterilen JSON özel karakterlerden kaçabilir.

Özel karakter Kodlanmış sıra
Tırnak işareti (") \"
Ters solidus (\) \\
Solidus (/) \/
Geri tuşu \b
Form akışı \f
Yeni satır \n
Satır başı dönüşü \r
Yatay sekme \t
Denetim karakteri Kodlanmış sıra
CHAR(0) \u0000
CHAR(1) \u0001
... ...
CHAR(31) \u001f

Açıklamalar

Örnekler

A. JSON biçimlendirme kurallarına göre kaçış metni

Aşağıdaki sorgu, JSON kurallarını kullanarak özel karakterlerin kaçışını yapar ve kaçış metnini döndürür.

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

Sonuç kümesi aşağıdadır.

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

B. JSON nesnesini biçimlendirme

Aşağıdaki sorgu, sayı ve dize değişkenlerinden JSON metni oluşturur ve değişkenlerdeki özel JSON karakterlerinden çıkış yapar.

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

Ayrıca Bkz.