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值。
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函数,用于获取Unicode字符180,它是“180/2”的结果:所以这里180/2 = 90。因此它返回Unicode字符90。
SELECT NCHAR(180/2);
输出
以下是上述查询的输出结果:
+---------------+
| NCharFunction |
+---------------+
| Z |
+---------------+
示例
以下是使用NCHAR()函数与变量并获取指定浮点值的Unicode字符为78.90的示例 –
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 |
+----+---------+------------+-------------+-------------+