CHAR (Transact-SQL)

Converte um código de ASCII int em um caractere.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

CHAR ( integer_expression )

Argumentos

  • integer_expression
    É um número inteiro de 0 a 255. NULL será retornado se a expressão de inteiro não estiver nesse intervalo.

Tipos de retorno

char(1)

Comentários

CHAR pode ser usado para inserir caracteres de controle em cadeias de caracteres. A tabela a seguir mostra alguns caracteres de controle usados com freqüência.

Caractere de controle

Valor

Tab

char(9)

Alimentação de linha

char(10)

Retorno de carro

char(13)

Exemplos

A. Usando ASCII e CHAR para imprimir valores ASCII de uma cadeia de caracteres

O exemplo a seguir imprime o valor e o caractere ASCII para cada caractere na cadeia de caracteres New Moon.

SET TEXTSIZE 0
-- Create variables for the character string and for the current 
-- position in the string.
DECLARE @position int, @string char(8)
-- Initialize the current position and the string variables.
SET @position = 1
SET @string = 'New Moon'
WHILE @position <= DATALENGTH(@string)
   BEGIN
   SELECT ASCII(SUBSTRING(@string, @position, 1)), 
      CHAR(ASCII(SUBSTRING(@string, @position, 1)))
   SET @position = @position + 1
   END
GO

Conjunto de resultados.

----------- - 
78          N 
              
----------- - 
101         e 
              
----------- - 
119         w 
              
----------- - 
32            
              
----------- - 
77          M 
              
----------- - 
111         o 
              
----------- - 
111         o 
              
----------- - 
110         n 
              
----------- - 

B. Usando CHAR para inserir um caractere de controle

O exemplo a seguir usa CHAR(13) para imprimir nome, email, endereço e número de telefone em linhas separadas quando os resultados são retornados no texto.

USE AdventureWorks;
GO
SELECT FirstName + ' ' + LastName, + CHAR(13)  + EmailAddress + CHAR(13) 
+ Phone
FROM Person.Contact

WHERE ContactID = 1;
GO

Conjunto de resultados.

Gustavo Achong
gustavo0@adventure-works.com
398-555-0132

(1 row(s) affected)