Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como a função NCHAR() funciona no SQL Server (T-SQL)


No SQL Server, você pode usar o T-SQL NCHAR() função para retornar o caractere Unicode com base no código inteiro especificado.

Você fornece o código inteiro como um argumento e a função retornará o caractere Unicode conforme definido pelo padrão Unicode.


Sintaxe


A sintaxe fica assim:
NCHAR ( integer_expression )

Onde integer_expression é o número inteiro para o qual você deseja que o caractere Unicode seja retornado.

Exemplo 1 – Uso básico


Aqui está um exemplo básico para demonstrar:
SELECT NCHAR(123) AS Result;

Resultado:
+----------+
| Result   |
|----------|
| {        |
+----------+

Exemplo 2 – Fora do intervalo


A documentação da Microsoft afirma o seguinte sobre o intervalo de números inteiros aceitáveis:

Quando o agrupamento do banco de dados não contém o sinalizador de caractere suplementar (SC), esse é um número inteiro positivo de 0 a 65535 (0 a 0xFFFF). Se for especificado um valor fora desse intervalo, será retornado NULL. Para obter mais informações sobre caracteres suplementares, consulte Collation and Unicode Support.

Quando o agrupamento do banco de dados oferece suporte ao sinalizador SC, esse é um número inteiro positivo de 0 a 1114111 (0 a 0x10FFFF). Se for especificado um valor fora desse intervalo, será retornado NULL.

Aqui está um exemplo do que acontece se sairmos do intervalo do agrupamento do banco de dados.
SELECT NCHAR(65536) AS Result;

Resultado:
+----------+
| Result   |
|----------|
| NULL     |
+----------+

Nesse caso, o banco de dados não contém o sinalizador Supplementary Character (SC) e, portanto, 65536 está fora do intervalo e NULL é retornado para esse valor.

Tipos de devolução


Também vale a pena notar que o tipo de retorno desta função é nchar(1) quando o banco de dados padrão não suporta caracteres suplementares e nvarchar(2) quando isso acontece.