Compartilhar via


UNISTR (Transact-SQL)

Aplica-se a: Banco de Dados SQL do Azure

UNISTR fornece suporte para literais de cadeia de caracteres Unicode, permitindo que você especifique o valor de codificação Unicode de caracteres na cadeia de caracteres. UNISTR retorna os caracteres Unicode, conforme definido pelo padrão Unicode, para a expressão de entrada.

A sequência de escape para um caractere Unicode pode ser especificada na forma de ou \+xxxxxx, onde xxxx é um valor de \xxxx ponto de código UTF-16 válido e xxxxxx é um valor de ponto de código Unicode válido. Você pode pesquisar valores de ponto de código Unicode nos Gráficos de Código Unicode.

Convenções de sintaxe de Transact-SQL

Sintaxe

UNISTR ( 'character_expression' [ , 'unicode_escape_character' ] )

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

'character_expression'

Uma expressão de qualquer tipo de caractere, como char, nchar, varchar ou nvarchar. Para os tipos de dados char e varchar , a ordenação deve ser uma ordenação UTF-8 válida.

N'unicode_escape_character'

Um único caractere que representa uma sequência de escape Unicode definida pelo usuário. Se não for fornecido, o valor padrão é \.

Tipos de retorno

Um valor de cadeia de caracteres cujo comprimento e tipo dependem dos tipos de entrada.

Exemplos

R. Use UNISTR vs a função NCHAR

Todos os exemplos a seguir usam as UNISTR funções para executar a conversão necessária dos valores Unicode em conjunto de caracteres de cadeia de caracteres, para exibir o caractere unicode Rosto Sorridente com Boca Aberta. A ordenação de banco de dados deve ser uma ordenação UTF-8 se a entrada for dos tipos de dados char ou varchar .

Usando UNISTR e NCHAR:

SELECT N'Hello! ' + NCHAR(0xd83d) + NCHAR(0xde00);

Este exemplo de exemplo também pode ser escrito:

SELECT UNISTR(N'Hello! \D83D\DE00');

SELECT UNISTR(N'Hello! \+01F603');

Este é o conjunto de resultados.

-----------
Hello! 😃

B. Usar a função UNISTR com caractere de escape definido pelo usuário

O exemplo a seguir usa a UNISTR função com um caractere de escape personalizado para executar a conversão necessária do Unicode em um conjunto de caracteres de cadeia de caracteres.

SELECT UNISTR(N'ABC#00C0#0181#0187', '#');

Este é o conjunto de resultados.

-----------
ABCÀƁƇ