Bagikan melalui


STRING_ESCAPE (T-SQL)

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

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

Konvensi sintaks transact-SQL

Sintaks

STRING_ESCAPE( text , type )  

Argumen

text
Adalah ekspresi nvarchar yang mewakili objek yang harus diloloskan.

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

Jenis Kembalian

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

J. Teks escape sesuai dengan aturan pemformatan JSON

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

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

Berikut set hasilnya.

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

B. Format objek JSON

Kueri berikut membuat teks JSON dari variabel angka dan string, dan meloloskan 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