UNICODE (Transact-SQL)

Berlaku untuk:ya SQL Server (semua versi yang didukung) Ya Azure SQL Database Ya Azure SQL Managed Instance ya Azure Synapse Analytics yaAnalytics Platform System (PDW)

Mengembalikan nilai bilangan bulat, seperti yang ditentukan oleh standar Unicode, untuk karakter pertama ekspresi input.

Ikon tautan topikKonvensi Sintaks Transact-SQL

Sintaks

UNICODE ( 'ncharacter_expression' )  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

'ncharacter_expression'
Adalah ekspresi nchar atau nvarchar .

Jenis Pengembalian

int

Keterangan

Dalam versi SQL Server yang lebih lama dari SQL Server 2012 (11.x) dan dalam Database Azure SQL, fungsi UNICODE mengembalikan codepoint UCS-2 dalam rentang 000000 hingga 00FFFF yang mampu mewakili 65.535 karakter dalam Bidang Multibahasa Dasar Unicode (BMP). Dimulai dengan SQL Server 2012 (11.x), saat menggunakan kolase karakter tambahan (SC) diaktifkan, UNICODE mengembalikan titik kode UTF-16 dalam rentang 000000 hingga 10FFFF. Untuk informasi selengkapnya tentang dukungan Unicode di Mesin Database, lihat Kolate dan Dukungan Unicode.

Contoh

A. Menggunakan UNICODE dan fungsi NCHAR

Contoh berikut menggunakan UNICODE fungsi dan NCHAR untuk mencetak nilai UNICODE dari karakter pertama string Åkergatan 24, dan untuk mencetak karakter pertama yang sebenarnya, Å.

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

Berikut adalah tataan hasil.

----------- -   
197         Å  

B. Menggunakan SUBSTRING, UNICODE, dan CONVERT

Contoh berikut menggunakan SUBSTRINGfungsi , UNICODE, dan CONVERT untuk mencetak nomor karakter, karakter Unicode, dan nilai UNICODE dari masing-masing karakter dalam string Åkergatan 24.

-- 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 <= LEN(@nstring)  
-- While these are still characters in the character string,  

BEGIN;  
   SELECT @position AS [position],   
      SUBSTRING(@nstring, @position, 1) AS [character],  
      UNICODE(SUBSTRING(@nstring, @position, 1)) AS [code_point];  
   SET @position = @position + 1;  
END; 

Berikut adalah hasil yang ditetapkan.

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  

Lihat juga

ASCII (Transact-SQL)
CHAR (Transact-SQL)
NCHAR (Transact-SQL)
Fungsi String (Transact-SQL)
Kolajeasi dan Dukungan Unicode