Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách hoạt động của hàm STRING_ESCAPE () trong SQL Server (T-SQL)

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server’s Tương đương với Sleep ():Câu lệnh WAITFOR

  2. Làm cách nào tôi có thể ghi nhật ký và tìm các truy vấn đắt tiền nhất?

  3. ACOS () Ví dụ trong SQL Server

  4. Làm cách nào để lấy ngày ở định dạng YYYY-MM-DD từ trường ngày giờ TSQL?

  5. Cách thêm khóa chính vào bảng hiện có trong SQL Server (ví dụ T-SQL)