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
廣告