SQL NCHAR Function

The SQL Server NCHAR function is a String method used to return the Unicode character at the specified integer value, as defined in Unicode standards. The syntax of the NCHAR 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 it will return NULL as output.

SQL NCHAR Function Example

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 one.

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 assigned 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 value. We also assigned new names to the result as ‘Result1’ to ‘Result4’ using the 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 method will return the Unicode value of the leftmost character (i.e., â), and that should be 226. Next, the NCHAR String method will return the Character at 226, and that is â

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

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 UNICODE, SUBSTRING, 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