Share via


UNICODE (Transact-SQL)

Unicode 標準に定義された、入力式の先頭文字の整数値を返します。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

UNICODE ( 'ncharacter_expression' )

引数

  • ' ncharacter_expression '
    nchar または nvarchar 型の式です。

戻り値の型

int

説明

SQL Server 2012 より前の SQL Server のバージョンでは、UNICODE 関数は UCS-2 コード ポイントを 0 から 0xFFFF までの範囲で返します。 SQL Server 2012 以降のエディションでは、SC 照合順序を使用すると、UNICODE は UTF-16 コード ポイントを 0 から 0x10FFFF までの範囲で返します。

使用例

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 (Transact-SQL)

文字列関数 (Transact-SQL)

概念

照合順序と Unicode のサポート