Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Zwraca wartość całkowitą, zdefiniowaną przez standard Unicode, jako pierwszy znak wyrażenia wejściowego.
Transact-SQL konwencje składni
Składnia
UNICODE ( 'ncharacter_expression' )
Arguments
'ncharacter_expression'
To wyrażenie nchar lub nvarchar .
Typy zwracane
int
Uwagi
W wersjach SQL Server starszych niż SQL Server 2012 (11.x) oraz w Azure SQL Database, funkcja UNICODE zwraca punkt kodowy UCS-2 w zakresie od 0000000 do 00FFFF, który jest zdolny reprezentować 65 535 znaków w Unicode Basic Multilingual Plane (BMP). Począwszy od SQL Server 2012 (11.x), przy użyciu kolacji z włączonym Supplementary Character (SC), UNICODE zwraca punkt kodowy UTF-16 w zakresie od 000000 do 10FFFF. Więcej informacji o wsparciu dla Unicode w silniku bazowym można znaleźć w artykule Collation and Unicode Support.
Przykłady
A. Wykorzystanie UNICODE i funkcji NCHAR
Poniższy przykład wykorzystuje funkcje i do UNICODE wypisania wartości UNICODE pierwszego znaku ciągu Åkergatan 24ciągu , oraz do wypisania rzeczywistego pierwszego znaku, Å.NCHAR
DECLARE @nstring NCHAR(12);
SET @nstring = N'Åkergatan 24';
SELECT UNICODE(@nstring), NCHAR(UNICODE(@nstring));
Oto zestaw wyników.
----------- -
197 Å
B. Używając SUBSTRING, UNICODE i CONVERT
Poniższy przykład wykorzystuje SUBSTRING, UNICODE, oraz CONVERT funkcje do wypisania numeru znaku, znaku Unicode oraz wartości UNICODE każdego znaku w ciągu Å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;
Oto zestaw wyników.
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
Zobacz też
ASCII (Transact-SQL)
CHAR (Transact-SQL)
NCHAR (Transact-SQL)
funkcje ciągów (Transact-SQL)
Sortowanie i obsługa Unicode