STRING_ESCAPE (SQL Bertransaksi)
Berlaku untuk:
SQL Server 2016 (13.x) dan yang lebih baru
Azure SQL Managed Instance Azure SQL Database ![]()
Lolos dari karakter khusus dalam teks dan mengembalikan teks dengan karakter yang lolos. STRING_ESCAPE adalah fungsi deterministik, yang diperkenalkan pada SQL Server 2016.
Sintaks
STRING_ESCAPE( text , type )
Argumen
teks
Adalah ekspresi ekspresinvarchar yang mewakili objek yang harus diloloskan.
jenis
Aturan pelepasan yang akan diterapkan. Saat ini nilai yang didukung adalah 'json'.
Jenis Pengembalian
teks nvarchar(max) dengan karakter khusus dan kontrol escape. Saat ini STRING_ESCAPE hanya dapat meloloskan karakter khusus JSON yang ditunjukkan 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 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') );
