SQL Server 的 UNICODE 函数是字符串函数之一,它返回 Unicode 标准中定义的整数值。如果我们指定字符字符串(多于一个字符),该函数将返回字符表达式最左边字符的整数值。UNICODE 函数的语法如下所示。
SELECT UNICODE (NCharacter_Expression) FROM [Source]
Character_Expression:请指定您要查找 UNICODE 值的有效表达式。此函数将返回此表达式最左边字符的 Unicode 标准中定义的整数值。此 Character_Expression 的类型为 NChar 或 NVarchar。
SQL UNICODE 函数示例
此函数返回给定表达式最左边字符的 Unicode 值。以下查询可能向您展示使用此函数的多种方法。
DECLARE @x NCHAR(25)
DECLARE @y INT
-- Initialize the variables.
SET @x = 'è'
SET @y = 5
SELECT UNICODE(@x) AS Result1,
UNICODE(@y) AS Result2 ;
SELECT UNICODE('âëxyz') AS Result3;
SELECT UNICODE('Å238') AS Result4;

在此示例中,下面代码的前四行用于声明两个 NCHAR 和 Integer 类型的变量。接下来,我们分别为变量赋了字符串数据 ‘è’ 和整数 5。
DECLARE @x NCHAR(25) DECLARE @y INT -- Initialize the variables. SET @x = 'è' SET @y = 5
从下面的语句中,您可以看到我们正在查找 ‘è’ 和整数 5 的 UNICODE 值。
SELECT UNICODE(@x) AS Result1,
UNICODE(@y) AS Result2 ;
在下面一行中,我们将 SQL Server UNICODE 函数直接应用于一组 N 字符(单词)。这里,它将返回最左边字符(即 ‘â’)的值,该值应为 226。
SELECT UNICODE('âëxyz') AS Result3;
从下面的语句中可以看到,我们将其直接应用于 NChars 和整数的组合。在这里,这个字符串函数将返回最左边字符(即 ‘Å’)的值,该值应为 197。
SELECT UNICODE('Å238') AS Result4;
UNICODE 示例 2
在此示例中,我们将在 WHILE LOOP 中使用 UNICODE 函数。我建议您参考SUBSTRING和WHILE LOOP在SQL Server中的文章,以理解查询执行。
DECLARE @i INT,
@str NCHAR(16);
-- Initialize the variables.
SET @i = 1;
SET @str = 'TùtÓrïål GãtÊwáy';
WHILE @i <= LEN(@str)
BEGIN
SELECT SUBSTRING(@str, @i, 1) AS [NChar_Value],
UNICODE(SUBSTRING(@str, @i, 1)) AS [UNICODE_Result]
SET @i = @i + 1
END;
