STRING_ESCAPE (Transact-SQL)

Berlaku untuk: SQL Server 2016 (13.x) dan database Azure SQL yang lebih baru Azure SQL Managed Instance

Lolos dari karakter khusus dalam teks dan mengembalikan teks dengan karakter yang lolos. STRING_ESCAPE adalah fungsi deterministik, yang diperkenalkan pada SQL Server 2016.

Konvensi sintaks transact-SQL

Sintaks

STRING_ESCAPE( text , type )  

Argumen

teks
Adalah ekspresinvarchar yang mewakili objek yang harus diloloskan.

jenis
Aturan pelepasan yang akan diterapkan. Saat ini nilai yang didukung adalah 'json'.

Jenis Pengembalian

teks nvarchar(maks) dengan karakter khusus dan kontrol yang lolos. Saat ini STRING_ESCAPE hanya dapat meloloskan karakter khusus JSON yang diperlihatkan dalam tabel berikut.

Karakter khusus Urutan yang dikodekan
Tanda kutip (") \"
Solidus terbalik (\) \\
Solidus (/) \/
Backspace \b
Umpan formulir \f
Baris baru \n
Carriage return \r
Tab horizontal \t
Karakter kontrol Urutan yang dikodekan
CHAR(0) \u0000
CHAR(1) \u0001
... ...
CHAR(31) \u001f

Keterangan

Contoh

A. Teks escape sesuai dengan aturan pemformatan JSON

Kueri berikut ini lolos dari karakter khusus menggunakan aturan JSON dan mengembalikan teks yang lolos.

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

Berikut adalah tataan hasil.

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

B. Format objek JSON

Kueri berikut membuat teks JSON dari variabel angka dan string, dan lolos dari karakter JSON khusus dalam variabel.

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

Lihat juga