SQL - QUOTENAME() 函数



SQL 的 QUOTENAME() 函数用于检索带有分隔符的 Unicode 字符串。它接受 两个 参数 char_strquote_char,并返回一个添加了分隔符的字符串,以便使该字符串成为有效的 SQL 分隔符标识符。

分隔符 是一系列一个或多个字符,用于指定纯文本、字符字符串、单词或任何其他数据项中独立区域之间的边界。字符字符串限制为 128 个字符,如果其长度大于 128 个字符,则返回 NULL 值。

注意 - 默认分隔符为 左([)右(]) 方括号。

语法

以下是 SQL QUOTENAME() 函数的语法 -

QUOTENAME(char_string, quote_character)

参数

  • char_string - 它是 Unicode 字符数据字符串。

  • quote_character - 它是用作分隔符的单字符字符串。

返回值

此函数返回带有分隔符的 Unicode 字符串。

示例

在以下示例中,我们使用 SQL QUOTENAME() 函数检索当前字符字符串 ‘tutorials[]point’ 的分隔符的 Unicode 字符串。

SELECT QUOTENAME('tutorials[]point') AS UNICODE_STRING;

输出

执行上述程序后,它将产生以下输出 -

+-----------------------+
| UNICODE_STRING        |
+-----------------------+
| [tutorials[]]point]   |
+-----------------------+

示例

以下是 SQL QUOTENAME() 函数的另一个示例。在此示例中,我们尝试检索当前字符字符串 ‘hello world’ 的分隔符的 Unicode 字符串,该字符串最初不包含任何分隔符。

SELECT QUOTENAME('hello world') AS UNICODE_STRING;

输出

上述 SQL 查询生成以下输出 -

+------------------+
| UNICODE_STRING   |
+------------------+
| [hello world]    |
+------------------+

示例

如果我们将参数 quote_char(自定义分隔符) 值传递给 QUOTENAME() 函数,则此函数将返回带有指定分隔符的 Unicode 字符串。

在以下示例中,我们使用 SQL QUOTENAME() 函数检索当前字符字符串 ‘Tutorials Point’ 的指定分隔符 ‘{}’ 的 Unicode 字符串。

SELECT QUOTENAME('Tutorials Point', '{}') AS UNICODE_STRING;

输出

以下是上述查询的输出 -

+----------------------------+
| UNICODE_STRING             |
+----------------------------+
| {Tutorials Point}          |
+----------------------------+

示例

您还可以将表列作为参数传递给 SQL QUOTENAME() 函数以获取带有指定分隔符的 Unicode 字符串。假设我们使用 CREATE 语句创建了一个名为 Customers 的表,如下所示 -

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

现在,让我们使用 INSERT 语句将一些记录插入 Customers 表中,如下所示 -

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Khilan', 25, 'Delhi', 1500.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'kaushik', 23, 'Kota', 2000.00 ); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Chaitali', 25, 'Mumbai', 6500.00 );

以下 SQL 查询检索 Customers 表中 Name 列的指定分隔符 ‘()’ 的 Unicode 字符串值 -

SELECT ID, NAME, QUOTENAME(NAME, '()') AS UNICODE_STRING FROM CUSTOMERS;

输出

以下是上述查询的输出 -

+----+----------+----------------+ 
| ID | NAME     | UNICODE_STRING |  
+----+----------+----------------+ 
|  1 | Ramesh   | (Ramesh)       |  
|  2 | Khilan   | (Khilan)       | 
|  3 | kaushik  | (kaushik)      |  
|  4 | Chaitali | (Chaitali)     |  
+----+----------+----------------+
sql-string-functions.htm
广告