SQL Server 的 NCHAR 函数是一个字符串方法,用于返回 Unicode 标准中定义的指定整数值处的 Unicode 字符。NCHAR 函数的语法是:
SELECT NCHAR(Integer_Expression) FROM [Source]
Integer_Expression:请指定有效的数值。如果该值超出范围(例如 123456),则会返回 NULL。
SQL Server NCHAR 函数示例
NCHAR 函数返回给定表达式或整数值的 Unicode 字符。以下查询可能以多种方式展示了此函数的使用。
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 Server 代码行用于声明两个 NCHAR 类型的变量。接下来,我们将字符串数据 è 和 ë 赋值给它们。
DECLARE @Str1 NCHAR(25) DECLARE @Str2 NCHAR(5) SET @Str1 = 'è' SET @Str2 = 'ë'
从下面的语句中,您可以看到我们正在查找 è、ë 的 UNICODE 值,并将 NCHAR 函数应用于该 Unicode 值。我们还使用 ALIAS 列为结果从“Result1”到“Result4”指定了新名称。
SELECT UNICODE(@Str1) AS Result1,
NCHAR(UNICODE(@Str1)) AS Result2,
UNICODE(@Str2) AS Result3,
NCHAR(UNICODE(@Str2)) AS Result4;
在下一行中,我们将 NCHAR 函数应用于一组 N字符(单词)。这里,UNICODE 方法将返回最左边字符(即 â)的 Unicode 值,该值应为 226。然后,NCHAR 字符串方法将返回 226 处的字符,即 â。
SELECT NCHAR(UNICODE('âëz')) AS Result5;
NCHAR 函数示例 2
在此示例中,我们将在 WHILE LOOP 中使用 NCHAR 函数。
我建议您参考 SQL Server 中的 UNICODE、SUBSTRING 和 WHILE LOOP 文章,以理解下面的代码。
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
