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ÀƁƇ