SQL - NCHAR() 函数



SQL 的NCHAR()函数用于检索字符串的 Unicode 值。它接受一个整数值作为参数并返回其 Unicode 值。如果我们传递的整数值超过给定范围,则将返回 NULL 值。

在 SQL 中,我们可以将 NCHAR() 函数与表的列一起使用,方法是将其作为参数以及字符串和字符一起传递。

语法

以下是 SQL NCHAR() 函数的语法:

NCHAR(integer_value);

参数

  • integer_value - 此函数接受

示例

以下 SELECT 查询使用 NumberCode 到 Unicode。因此,在这里我们将获得数字代码 80 的 Unicode 字符。

SELECT NCHAR(80) AS NcharFunction;

输出

以下是上述查询的输出:

+---------------+
| NCharFunction |
+---------------+
|       P       |
+---------------+

示例

以下是用变量的 NCHAR() 函数的示例,并获取指定数字代码 120 的 Unicode 字符。

DECLARE @exp_string INT;  
SET @exp_string = 120;  
SELECT NCHAR(@exp_string);

输出

以下是上述查询的输出:

+---------------+
| NCharFunction |
+---------------+
|       X       |
+---------------+

示例

以下是 SQL 中 NCHAR() 函数的示例,无论我们给出了什么字符串,它都会返回该字符串的第一个字符及其 Unicode_value。

DECLARE @exp_string NCHAR(12) = 'Ramesh'; 
SELECT NCHAR(UNICODE(@exp_string)) AS FIRST_CHAR, UNICODE(@exp_string) AS UNICODE_VALUE; 

输出

以下是上述查询的输出:

+------------+---------------+
| FIRST_CHAR | UNICODE_VALUE |
+------- ----+---------------+
|       R    |     82        |
+------------+---------------+

示例

如果我们给出任何十进制值(例如 67.25)来获取 Unicode 字符,则此处仅考虑数字代码 = 67,而忽略小数部分。

SELECT NCHAR(67.25) AS Ncharfunction;

输出

以下是上述查询的输出:

+---------------+
| NCharFunction |
+---------------+
|       C       |
+---------------+

示例

以下是 NCHAR 函数,用于获取 180 的 Unicode 字符,它是“180/2”的结果:因此,这里 180/2 = 90。因此,它返回 90 的 Unicode 字符。

SELECT NCHAR(180/2);

输出

以下是上述查询的输出:

+---------------+
| NCharFunction |
+---------------+
|       Z       |
+---------------+

示例

以下是使用变量的 NCHAR() 函数的示例,并获取指定浮点值(例如 78.90)的 Unicode 字符:

DECLARE @exp_string Float;  
SET @exp_string = 78.90;  
SELECT NCHAR(@exp_string);

输出

以下是上述查询的输出:

+---------------+
| NCharFunction |
+---------------+
|       N       |
+---------------+

示例

您可以将表列作为参数传递给NCHAR()函数。假设我们使用CREATE语句创建了一个名为 Customers 的表,如下所示:

create table CUSTOMERS(
   ID INT NOT NULL, 
   NAME VARCHAR(15) NOT NULL, 
   AGE INT NOT NULL, 
   ADDRESS CHAR(25), 
   SALARY DECIMAL(10, 4), PRIMARY KEY(ID)
);

现在让我们使用 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);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(5, 'Hardik', 27, 'Bhopal', 8500.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(6, 'Komal', 22, 'MP', 4500.00);
insert INTO CUSTOMERS(ID, NAME, AGE, ADDRESS, SALARY) VALUES(7, 'Muffy', 24, 'Indore', 10000.00);

以下 SELECT 查询将 NCHAR() 函数与上述 CUSTOMERS 表的 ID 列一起使用:

SELECT ID, NAME, NCHAR(UNICODE(ID)) AS Unicode_ID FROM CUSTOMERS;
 

输出

以下是上述查询的输出:

+----+---------+----------+
| ID |   NAME  |UNICODE_ID|
+----+---------+----------+
| 1  | Ramesh  |     1    |
| 2  | Khilan  |     2    |
| 3  | kaushik |     3    |
| 4  | Chaitali|     4    |
| 5  | Hardik  |     5    |
| 6  | Komal   |     6    |
| 7  | Muffy   |     7    |
+----+---------+----------+

示例

以下 SELECT 查询将 NCHAR() 函数与上述 CUSTOMERS 表的 ID、NAME、AGE 列一起使用。

SELECT ID, NAME, AGE, NCHAR(UNICODE(ID)) As Unicode_ID, NCHAR(UNICODE(NAME)) AS Unicode_NAME, NCHAR(UNICODE(AGE)) AS Unicode_AGE FROM CUSTOMERS;

输出

以下是上述查询的输出:

+----+---------+------------+-------------+-------------+
| ID |   NAME  | UNICODE_ID | UNICODE_NAME| UNICODE_AGE |
+----+---------+------------+-------------+-------------+
| 1  | Ramesh  |     1      |     R       |      3      |
| 2  | Khilan  |     2      |     K       |      2      |
| 3  | kaushik |     3      |     k       |      2      |
| 4  | Chaitali|     4      |     C       |      2      |
| 5  | Hardik  |     5      |     H       |      2      |
| 6  | Komal   |     6      |     K       |      2      |
| 7  | Muffy   |     7      |     M       |      2      |
+----+---------+------------+-------------+-------------+
sql-string-functions.htm
广告