SQL STRING_ESCAPE()函数

SQL STRING_ESCAPE()函数

SQL STRING_ESCAPE() 函数用于将转义的特殊字符转换为字符串。

它接受 两个 参数,即文本和类型。它返回一个带有转义字符的新字符串(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://www.tutorialspoint.com/users’ 转换或转义为文本。此函数将返回带有转义字符的文本。

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

输出

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

示例

如果我们将 type参数 值传递为空值到STRING_ESCAPE()函数,该函数会抛出指定的第二个参数无效值错误。

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

让我们使用转义字符将一些记录插入到 Customers 表中,使用以下 INSERT 语句:

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\\\\      |
+--------------------+-----------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程