UNICODE (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse no Microsoft Fabric
Retorna o valor inteiro, como definido pelo padrão Unicode, para o primeiro caractere da expressão de entrada.
Convenções de sintaxe de Transact-SQL
Sintaxe
UNICODE ( 'ncharacter_expression' )
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
Argumentos
'ncharacter_expression'
É uma expressão nchar ou nvarchar.
Tipos de retorno
int
Comentários
Nas versões do SQL Server anteriores a SQL Server 2012 (11.x) e Banco de Dados SQL do Azure, a função UNICODE retorna um ponto de código UCS-2 no intervalo de 000000 a 00FFFF que pode representar os 65.535 caracteres em BMP (Plano Multilíngue Básico) em Unicode. A partir do SQL Server 2012 (11.x), ao usar ordenações habilitadas por Caractere Suplementar (SC), o UNICODE retorna um ponto de código UTF-16 no intervalo de 000000 a 10FFFF. Para saber mais sobre o suporte a Unicode em Mecanismo de Banco de Dados, confira Suporte a ordenações e a Unicode.
Exemplos
a. Usando UNICODE e a função NCHAR
O exemplo a seguir usa as funções UNICODE
e NCHAR
para imprimir o valor UNICODE do primeiro caractere da cadeia Åkergatan 24
e o primeiro caractere real, Å
.
DECLARE @nstring NCHAR(12);
SET @nstring = N'Åkergatan 24';
SELECT UNICODE(@nstring), NCHAR(UNICODE(@nstring));
Este é o conjunto de resultados.
----------- -
197 Å
B. Usando SUBSTRING, UNICODE e CONVERT
O exemplo a seguir usa as funções SUBSTRING
, UNICODE
e CONVERT
para imprimir o número do caractere, o caractere Unicode e o valor UNICODE de cada um dos caracteres na cadeia Å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;
Este é o conjunto de resultados.
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
Consulte Também
ASCII (Transact-SQL)
CHAR (Transact-SQL)
NCHAR (Transact-SQL)
Funções de cadeia de caracteres (Transact-SQL)
Suporte a ordenações e a Unicode
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de