Trong SQL Server, T-SQL STRING_ESCAPE()
hàm thoát các ký tự đặc biệt trong văn bản và trả về văn bản có các ký tự thoát.
Bạn cung cấp văn bản và kiểu thoát làm đối số khi gọi hàm.
Cú pháp
Cú pháp như sau:
STRING_ESCAPE( text , type )
Ở đâu text là văn bản có chứa bất kỳ ký tự nào cần thoát và loại xác định các quy tắc thoát để áp dụng.
Hiện tại, giá trị duy nhất được hỗ trợ cho loại đối số là 'json'
.
Ví dụ 1 - Cách sử dụng cơ bản
Dưới đây là một ví dụ về cách nó hoạt động:
SELECT STRING_ESCAPE('\', 'json') AS Result;
Kết quả:
+----------+ | Result | |----------| | \\ | +----------+
Dưới đây là một ví dụ mà dấu gạch chéo lên được thoát ra:
SELECT STRING_ESCAPE('/', 'json') AS Result;
Kết quả:
+----------+ | Result | |----------| | \/ | +----------+
Và đây là một ví dụ có thêm một chút văn bản:
SELECT STRING_ESCAPE('Free beer/wine with every lambo!', 'json') AS Result;
Kết quả:
+-----------------------------------+ | Result | |-----------------------------------| | Free beer\/wine with every lambo! | +-----------------------------------+
Ví dụ 2 - Loại Không hợp lệ
Tại thời điểm viết bài, giá trị duy nhất được hỗ trợ cho kiểu tham số là 'json'
. Dưới đây là những gì sẽ xảy ra nếu chúng tôi cung cấp một giá trị không được hỗ trợ:
SELECT STRING_ESCAPE('\', 'oops') AS Result;
Kết quả:
An invalid value was specified for argument 2.
Ký tự có thể dự đoán
Tại thời điểm viết bài, STRING_ESCAPE()
hàm chỉ có thể thoát khỏi các ký tự đặc biệt JSON được liệt kê trong bảng sau:
Ký tự đặc biệt | Chuỗi được mã hóa |
---|---|
Dấu ngoặc kép (") | \ " |
Dấu gạch ngang ngược (\) | \ | |
Solidus (/) | \ / |
Backspace | \ b |
Nguồn cấp dữ liệu biểu mẫu | \ f |
Dòng mới | \ n |
Trả hàng | \ r |
Tab ngang | \ t |
Ký tự điều khiển | Chuỗi được mã hóa |
---|---|
CHAR (0) | \ u0000 |
CHAR (1) | \ u0001 |
… | … |
CHAR (31) | \ u001f |