Transact-SQL 参考

UNICODE

按照 Unicode 标准的定义,返回输入表达式的第一个字符的整数值。

语法

UNICODE ( 'ncharacter_expression' )

参数

'ncharacter_expression'

ncharnvarchar 表达式。

返回类型

int

示例
A. 使用 UNICODE 和 NCHAR

下面的示例使用 UNICODE 和 NCHAR 函数打印 Åkergatan 24 字符串中第一个字符的 UNICODE 值,并打印实际的第一个字符 Å。

DECLARE @nstring nchar(12)
SET @nstring = N'Åkergatan 24'
SELECT UNICODE(@nstring), NCHAR(UNICODE(@nstring))

下面是结果集:

----------- - 
197         Å
B. 使用 SUBSTRING、UNICODE 和 CONVERT 函数

下面的示例使用 SUBSTRING、UNICODE 和 CONVERT 函数输出字符串 Åkergatan 24 中每个字符的字符号、Unicode 字符和 UNICODE 值。

-- The @position variable holds the position of the character currently
-- being processed. The @nstring variable is the Unicode character 
-- string to process.
DECLARE @position int, @nstring nchar(12)
-- Initialize the current position variable to the first character in 
-- the string.
SET @position = 1
-- Initialize the character string variable to the string to process. 
-- Notice that there is an N before the start of the string, which 
-- indicates that the data following the N is Unicode data.
SET @nstring = N'Åkergatan 24'
-- Print the character number of the position of the string you are at, 
-- the actual Unicode character you are processing, and the UNICODE 
-- value for this particular character.
PRINT 'Character #' + ' ' + 'Unicode Character' + ' ' + 'UNICODE Value'
WHILE @position <= DATALENGTH(@nstring)
-- While these are still characters in the character string,
   BEGIN
   SELECT @position, 
      CONVERT(char(17), SUBSTRING(@nstring, @position, 1)),
      UNICODE(SUBSTRING(@nstring, @position, 1))
   SELECT @position = @position + 1
   END

下面是结果集:

Character # Unicode Character UNICODE Value
                                          
----------- ----------------- ----------- 
1           Å                 197         
                                          
----------- ----------------- ----------- 
2           k                 107         
                                          
----------- ----------------- ----------- 
3           e                 101         
                                          
----------- ----------------- ----------- 
4           r                 114         
                                          
----------- ----------------- ----------- 
5           g                 103         
                                          
----------- ----------------- ----------- 
6           a                 97          
                                          
----------- ----------------- ----------- 
7           t                 116         
                                          
----------- ----------------- ----------- 
8           a                 97          
                                          
----------- ----------------- ----------- 
9           n                 110         
                                          
----------- ----------------- ----------- 
10                            32          
                                          
----------- ----------------- ----------- 
11          2                 50          
                                          
----------- ----------------- ----------- 
12          4                 52

请参见

数据类型

NCHAR

字符串函数

使用 Unicode 数据