STRING_ESCAPE (SQL Bertransaksi)

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

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

Topic link iconKonvensi Sintaksis T-SQL

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

Lihat juga