UNICODE (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

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

Konvensi sintaks transact-SQL

Sintaksis

UNICODE ( 'ncharacter_expression' )  

Catatan

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

Argumen

'ncharacter_expression'
Adalah ekspresi nchar atau nvarchar.

Jenis Kembalian

int

Keterangan

Dalam versi SQL Server yang lebih lama dari SQL Server 2012 (11.x) dan di Azure SQL Database, fungsi UNICODE mengembalikan titik kode UCS-2 dalam rentang 000000 hingga 00FFFFff yang mampu mewakili 65.535 karakter dalam Unicode Basic Multilingual Plane (BMP). Dimulai dengan SQL Server 2012 (11.x), saat menggunakan kolase yang diaktifkan Karakter Tambahan (SC), 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

J. 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 hasil yang ditetapkan.

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

B. Menggunakan SUBSTRING, UNICODE, dan CONVERT

Contoh berikut menggunakan SUBSTRINGfungsi , , UNICODEdan 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 (T-SQL)
CHAR (Transact-SQL)
NCHAR (Transact-SQL)
Fungsi String (Transact-SQL)
Dukungan Kolajeasi dan Unicode