No SQL Server, o T-SQL
CHAR() função converte um int código ASCII para um valor de caractere. Em outras palavras, você passa um inteiro e a função o interpreta como o valor do código para um caractere de string e retorna o caractere de string correspondente. Sintaxe
A sintaxe fica assim:
CHAR ( integer_expression )
Onde
integer_expression é um número inteiro de 0 a 255. Se você especificar um número inteiro fora desse intervalo, o resultado será
NULL . O mesmo acontece se você fornecer um número inteiro que expresse apenas o primeiro byte de um caractere de byte duplo. Exemplo 1 – Uso básico
Aqui está um exemplo para demonstrar o uso básico:
SELECT CHAR(67) AS 'Result';
Resultado:
+----------+ | Result | |----------| | C | +----------+
Então, se alterarmos o número inteiro, obteremos um caractere diferente:
SELECT CHAR(255) AS 'Result';
Resultado:
+----------+ | Result | |----------| | ÿ | +----------+
Exemplo 2 – Vários números inteiros
Esta função não suporta vários inteiros como argumentos. Se você fornecer vários números inteiros, receberá um erro.
Aqui está um exemplo:
SELECT CHAR(67, 255) AS 'Result';
Resultado:
The char function requires 1 argument(s).
Observe que isso está em contraste com o
CHAR() do MySQL função (que permite fornecer vários números inteiros). Exemplo 3 – Inteiros fora do intervalo
Esta função também não suporta números inteiros fora do intervalo de 1 a 255. Se seu argumento estiver fora desse intervalo, o resultado será
NULL . Aqui está um exemplo:
SELECT CHAR(256) AS 'Result';
Resultado:
+----------+ | Result | |----------| | NULL | +----------+
Isso está novamente em contraste com o
CHAR() do MySQL função, que aceita inteiros maiores que 255 (nesse caso, eles são convertidos automaticamente em vários bytes de resultado). Exemplo 4 – Inserindo caracteres de controle
Aqui está um exemplo de uso de
CHAR(13) para imprimir caracteres subsequentes em uma nova linha:SELECT 'Homer' + CHAR(13) + 'example@sqldat.com' AS 'Name/Email';
Resultado:
+--------------+ | Name/Email | |--------------| | Homer example@sqldat.com | +--------------+
Aqui está o que parece se removermos o
CHAR(13) :SELECT 'Homer' AS 'Name', 'example@sqldat.com' AS 'Email';
Resultado:
+--------+-----------------------+ | Name | Email | |--------+-----------------------| | Homer | example@sqldat.com | +--------+-----------------------+