SQL NCHAR Function

The SQL NCHAR function is a SQL String Function used to return the Unicode character at the specified integer value, as defined in Unicode standards. The syntax of the SQL Server UNICODE Function is

SELECT NCHAR (Integer_Expression)
FROM [Source]

Integer_Expression: Please specify the valid numeric value. If the value is out of the range (something like 123456), then the function will return NULL as output.

SQL NCHAR Function Example 1

The SQL Server NCHAR Function is used to return the Unicode character of the given expression or integer value. The following query may show you multiple ways to use this function.

DECLARE @Str1 NCHAR(25)
DECLARE @Str2 NCHAR(5)

-- Initialize the variables.  
SET @Str1 = 'è'
SET @Str2 = 'ë'

SELECT UNICODE(@Str1) AS Result1,
       NCHAR(UNICODE(@Str1)) AS Result2,
       UNICODE(@Str2) AS Result3,
      NCHAR(UNICODE(@Str2)) AS Result4; 

SELECT NCHAR(UNICODE('âëz')) AS Result5;  

SELECT NCHAR(UNICODE('Å28')) AS Result6;
SQL NCHAR Function 1

Below lines of code are used to declare two variables of type NCHAR. Next, we were assigning the string data è and ë

DECLARE @Str1 NCHAR(25)
DECLARE @Str2 NCHAR(5)

SET @Str1 = 'è'
SET @Str2 = 'ë'

From the below statement, you can see we are finding the UNICODE value of è, ë, and applying the SQL Server NCHAR function on that Unicode values. We also assigned new names to the result as ‘Result1’ to ‘Result4’ using ALIAS Column.

SELECT UNICODE(@Str1) AS Result1, 
       NCHAR(UNICODE(@Str1)) AS Result2, 
       UNICODE(@Str2) AS Result3, 
       NCHAR(UNICODE(@Str2)) AS Result4;

In the next line, We used the NCHAR function on a group of Ncharacters (word). Here, the UNICODE function will return the Unicode value of the leftmost character (i.e., â), and that should be 226. Next, NCHAR String Function will return the Character at 226, and that is â

SELECT NCHAR(UNICODE('âëz')) AS Result5;

SQL NCHAR Function Example 2

In this example, We are going to use the SQL NCHAR function inside the WHILE LOOP. I suggest you refer to the UNICODESUBSTRING, and WHILE LOOP articles in SQL Server.

DECLARE @i INT, 
        @string1 NCHAR(16)  

-- Initialize the variables.  
SET @i = 1
SET @string1 = 'TùtÓrïål GãtÊwáy'
 
WHILE @i <= LEN(@string1)
	BEGIN
		SELECT SUBSTRING(@string1, @i, 1) AS [NChar Value],
			   UNICODE(SUBSTRING(@string1, @i, 1)) AS [UNICODE Result],
			   NCHAR(UNICODE(SUBSTRING(@string1, @i, 1))) AS [NCHAR Result]
		SET @i = @i + 1
	END
SQL NCHAR Function 2