Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Returnerar heltalsvärdet, enligt Unicode-standarden, för det första tecknet i indatauttrycket.
Transact-SQL syntaxkonventioner
Syntax
UNICODE ( 'ncharacter_expression' )
Arguments
'ncharacter_expression'
Är ett nchar eller nvarchar-uttryck .
Returtyper
int
Anmärkningar
I versioner av SQL Server tidigare än SQL Server 2012 (11.x) och i Azure SQL Database returnerar UNICODE-funktionen en UCS-2-kodpunkt i intervallet 000000 till 00FFFF som kan representera de 65 535 tecknen i Unicode Basic Multilingual Plane (BMP). Från och med SQL Server 2012 (11.x), när kompletterande tecken (SC) aktiverade sorteringar används, returnerar UNICODE en UTF-16-kodpunkt i intervallet 000000 till 10FFFF. För mer information om Unicode-stöd i Databasmotorn, se Collation och Unicode Support.
Examples
A. Att använda UNICODE och NCHAR-funktionen
Följande exempel använder UNICODE och NCHAR för att skriva ut UNICODE-värdet för det första tecknet i strängen Åkergatan 24, och för att skriva ut det faktiska första tecknet, Å.
DECLARE @nstring NCHAR(12);
SET @nstring = N'Åkergatan 24';
SELECT UNICODE(@nstring), NCHAR(UNICODE(@nstring));
Här är resultatet.
----------- -
197 Å
B. Med hjälp av SUBSTRING, UNICODE och CONVERT
Följande exempel använder SUBSTRING, , och CONVERT funktionerna för att skriva ut teckennumret, Unicode-tecknet och UNICODE-värdet för varje tecken i strängen Åkergatan 24UNICODE.
-- 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;
Här är resultatet.
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
Se även
ASCII (Transact-SQL)
CHAR (Transact-SQL)
NCHAR (Transact-SQL)
Strängfunktioner (Transact-SQL)
Sortering och Unicode-stöd