SQL - STRING_ESCAPE() 函式



SQL 的STRING_ESCAPE()函式用於將轉義的特殊字元轉換為字串。

它接受兩個引數 text 和 type。它返回一個包含跳脫字元的新字串(text)。目前,STRING_ESCAPE()函式僅支援轉義JOSN的特殊字元。

跳脫字元是一個字元,它會呼叫對字元序列中後續字元的替代解釋。例如,反斜槓(\)是跳脫字元。您可以在 SQL 中使用跳脫字元來搜尋特殊字元,並且要轉義特殊字元,可以在其前面使用反斜槓(\)。

以下是 SQL STRING_ESCAPE()函式的語法:

STRING_ESCAPE( text , type )   

引數

  • text − 它是一個 nvarchar 表示式,表示應轉義的物件。

  • type − 它是要應用的轉義規則。

返回值

它返回一個包含跳脫字元的文字。

示例

在以下示例中,我們使用 SQL STRING_ESCAPE()函式將轉義特殊字元'\HELLO\WORLD'轉換為字串。

SELECT STRING_ESCAPE('\HELLO\WORLD', 'JSON') as New_string;

輸出

執行上述程式後,將產生以下輸出:

+----------------+
| New_string     |
+----------------+
| \\HELLO\\WORLD |
+----------------+

示例

以下是 SQL STRING_ESCAPE()函式的另一個示例,這裡,我們嘗試從文字'https://tutorialspoint.tw/users'中轉換或轉義特殊跳脫字元。此函式將返回包含跳脫字元的文字。

SELECT STRING_ESCAPE('https://tutorialspoint.tw/users', 'JSON') as New_string;

輸出

+-----------------------------------------+
| New_string                              |
+-----------------------------------------+
| https:\/\/www.tutorialspoint.com\/users |
+-----------------------------------------+

示例

如果我們將type 引數的值作為傳遞給 STRING_ESCAPE() 函式,則此函式將引發為引數 2 指定無效值錯誤。

SELECT STRING_ESCAPE('\\TutorialsPount\easylearning', '') as New_string;

輸出

以下是上述語句的輸出:

An invalid value was specified for argument 2.

示例

如果我們將type 引數作為NULL傳遞給此函式,則STRING_ESCAPE()函式將引發無效資料型別錯誤。

SELECT STRING_ESCAPE('\\TutorialsPount\easylearning', NULL) as New_string;

輸出

執行上述程式後,將產生以下輸出:

Argument data type NULL is invalid for argument 2 of string_escape function.

示例

您可以將表列作為引數傳遞給STRING_ESCAPE()函式,以將列跳脫字元轉換為包含跳脫字元的字串。假設,我們使用CREATE語句建立了一個名為 Customers 的表,如下所示:

CREATE TABLE CUSTOMERS(    
   ID INT NOT NULL,    
   FIRST_NAME VARCHAR (20),
   LAST_NAME VARCHAR(20),s
   AGE INT NOT NULL,    
   ADDRESS CHAR (25) ,    
   SALARY DECIMAL (18, 2));

讓我們使用INSERT語句將一些包含跳脫字元的記錄插入到Customers表中,如下所示:

INSERT INTO CUSTOMERS VALUES (1, '/Rohan\','Verma', 33, 'Hyderbad', 2100.00 ); 
INSERT INTO CUSTOMERS VALUES (2, '\\Kamlesh','Kumar', 30, 'Lucknow', 2500.00 ); 
INSERT INTO CUSTOMERS VALUES (3, 'Seeta\\','Sharma', 23, 'Delhi', 3150.00 );

以下是將 Customer 表中列 FIRST_NAME 的跳脫字元轉換為包含跳脫字元的字串的 SQL 查詢:

SELECT ID, FIRST_NAME, STRING_ESCAPE(FIRST_NAME, 'JSON') AS NEW_LIST FROM CUSTOMERS;

輸出

以下是上述查詢的輸出:

+--------------------+-----------------+
| ID  | FIRST_NAME   | NEW_LIST        |
+--------------------+-----------------+
| 1   | /Rohan\      |  \/Rohan\\      |
| 2   | \\Kamlesh    |  \\\\Kamlesh    |
| 3   |  Seeta\\     |  Seeta\\\\      |
+--------------------+-----------------+
sql-string-functions.htm
廣告