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.
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') );